f:setPropertyActionListener标签
2013-09-04 16:31
423 查看
f:setPropertyActionListener标签
前面介绍过,f:param和f:attribute对于从UI向服务器传递信息是很方便的。但这些标签要求手工分别从请求参数或者组件特性中获得信息。
JSF1.2引入的f:setPropertyActionListener标签旨在避免提取操作。使用f:setProperty- ActionListener,JSF实现在backing bean中自动设置属性。下面是将它应用到国旗例子的代码:
<h:commandLink immediate="true" action="#{localeChanger.changeLocale}">
<f:setPropertyActionListener target="#{localeChanger.languageCode}"
value="de"/>
<h:graphicImage library= "images" name="de_flag.gif" style="border: 0px"/>
</h:commandLink>
<h:commandLink immediate="true" action="#{localeChanger.changeLocale}">
<f:setPropertyActionListener target="#{localeChanger.languageCode}"
value="en"/>
<h:graphicImage library= “images” name="en_flag.gif" style="border: 0px"/>
</h:commandLink>
在上面的JSP代码中,我们告诉JSF实现使用de或en来设置localeChanger bean的languageCode属性。下面是localeChanger bean的相应实现:
public class LocaleChanger {
private String languageCode;
public String changeLocale() {
FacesContext context = FacesContext.getCurrentInstance();
context.getViewRoot().setLocale(new Locale(languageCode));
return null;
}
public void setLanguageCode(String newValue) {
languageCode = newValue;
}
}
对于LocaleChanger的实现,我们提供了由JSF实现设置的languageCode只写属性。
在本例的上下文中,方法参数表面上是设置localeChanger bean的languageCode属性的最佳选择。它们易于实现和理解。f:setPropertyActionListener标签在JSF 2.0应用程序中将极少使用。但在其他上下文环境中,f:param和f:attribute也有它们自己的用武之地,可用来设置请求参数或组件特性。
前面介绍过,f:param和f:attribute对于从UI向服务器传递信息是很方便的。但这些标签要求手工分别从请求参数或者组件特性中获得信息。
JSF1.2引入的f:setPropertyActionListener标签旨在避免提取操作。使用f:setProperty- ActionListener,JSF实现在backing bean中自动设置属性。下面是将它应用到国旗例子的代码:
<h:commandLink immediate="true" action="#{localeChanger.changeLocale}">
<f:setPropertyActionListener target="#{localeChanger.languageCode}"
value="de"/>
<h:graphicImage library= "images" name="de_flag.gif" style="border: 0px"/>
</h:commandLink>
<h:commandLink immediate="true" action="#{localeChanger.changeLocale}">
<f:setPropertyActionListener target="#{localeChanger.languageCode}"
value="en"/>
<h:graphicImage library= “images” name="en_flag.gif" style="border: 0px"/>
</h:commandLink>
在上面的JSP代码中,我们告诉JSF实现使用de或en来设置localeChanger bean的languageCode属性。下面是localeChanger bean的相应实现:
public class LocaleChanger {
private String languageCode;
public String changeLocale() {
FacesContext context = FacesContext.getCurrentInstance();
context.getViewRoot().setLocale(new Locale(languageCode));
return null;
}
public void setLanguageCode(String newValue) {
languageCode = newValue;
}
}
对于LocaleChanger的实现,我们提供了由JSF实现设置的languageCode只写属性。
在本例的上下文中,方法参数表面上是设置localeChanger bean的languageCode属性的最佳选择。它们易于实现和理解。f:setPropertyActionListener标签在JSF 2.0应用程序中将极少使用。但在其他上下文环境中,f:param和f:attribute也有它们自己的用武之地,可用来设置请求参数或组件特性。
相关文章推荐
- 关于f:setPropertyActionListener标签的问题
- ADF 按钮直接传参 使用 setPropertyActionListener
- JavaBean中的<jsp:getProperty>标签与<jsp:setProperty>标签
- 控件EditText的setOnEditorActionListener方法的使用
- android开发searchView的setOnActionExpandListener闪退解决
- EditText监听事件setOnEditorActionListener onEditorAction执行两次
- 控件EditText的setOnEditorActionListener方法的理解
- struts2系列十七之常用的struts标签set,property,iterator,include,if,error,判断奇偶
- 控件EditText的setOnEditorActionListener方法的理解
- 使用 af:setActionListener 显式赋值
- [原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等
- jsp动作标签(userBean get/setProperty)
- javaBean=====jsp标签之<jsp:setProperty> <jsp:getProperty>
- Adf : required="true" 与 <af:setActionListener的冲突
- Struts2 用s:property标签从Action中获取Bean对象某一个属性的值
- <jsp:useBean>标签和<jsp:setProperty>标签 笔记
- EditText、requestFocus、imeOptions、TextWatcher、setOnEditorActionListener
- struts-1.3.10中的<action-mappings> <action>标签中<set-property>的用法
- TextView不能响应setOnTouchListener ACTION_DOWN的解决方法
- Android EditText中的setOnEditorActionListener方法的理解