【发布时间】:2012-08-31 03:42:14
【问题描述】:
查看
<h:form id="main_form">
<p:inputText id="title" required="true" label="Title" value="#{myBean.myLink.title}" immediate="true" />
<p:selectOneMenu id="scope" required="true" label="Scope" value="#{myBean.myLink.scope}" immediate="true" >
<f:selectItem itemLabel="Please choose" itemValue="" />
<f:selectItems value="#{myBean.availableScopes}" id="selScope"/>
</p:selectOneMenu>
<p:inputText id="link" required="true" label="URL" value="#{myBean.myLink.link}" immediate="true">
<p:ajax event="blur" update="msgLink" listener="#{myBean.checkUrl}" />
</p:inputText>
... msgLink and other (required) elements
... submit button
</h:form>
托管 Bean
@Component("myBean")
@Scope("session")
public class MyBean implements Serializable {
private Link myLink;
private Map<String, String> availableScopes;
public MyBean() {
this.availableScopes = new HashMap<String, String>();
this.availableScopes.put("Intranet", "Intranet");
this.availableScopes.put("Internet", "Internet");
}
// setter/getters etc.
public void checkUrl() {
System.out.println(myLink.getTitle()); // works
System.out.println(myLink.getScope()); // DOES NOT work
System.out.println(myLink.getLink()); // works
}
}
- 我想根据所选范围在提交表单之前检查 URL。但是被调用的方法可以访问对象的
inputText值。不是selectOneMenu中选择的值。 - 我已经用
getExternalContext().getSessionMap().get("scope")尝试过,但当时 SessionMap 为空。
是否有机会访问组合框的选定值?
谢谢 吉姆
【问题讨论】:
标签: ajax jsf jsf-2 primefaces