您可以使用
faces-config.xml配置从
param地图注入ID 。
对于这个简单的bean:
public class BeanWithId implements Serializable { private String id; private String info; private void populateInfo() { info = "Some info from data source for id=" + id; } public String getId() { return id; } public void setId(String id) { this.id = id; populateInfo(); } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } public String save() { System.out.println("Saving changes to persistence store"); return null; // no navigation }}您可以使用以下定义注入ID:
<managed-bean> <managed-bean-name>beanWithId</managed-bean-name> <managed-bean-class>datasource.BeanWithId</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> <managed-property> <property-name>id</property-name> <property-class>java.lang.String</property-class> <value>#{param.ID}</value> </managed-property> </managed-bean>小平面形式:
<h:form> <p>ID: <h:outputText value="#{beanWithId.id}" /></p> <p>Info: <h:inputText value="#{beanWithId.info}" /></p> <p><h:commandlink action="#{beanWithId.save}" value="Save"> <f:param name="ID" value="#{param.ID}" /> </h:commandlink></p></h:form>这不是唯一的方法(例如,您可以直接使用来查找ID
FacesContext)。



