我还没有找到通过URL参数将参数传递给JSF页面的方法.
http://www.example.com/jsfApp.jsp?param1=value1¶m2=value2
Run Code Online (Sandbox Code Playgroud)
有人能指出我正确的方向吗?
Bal*_*usC 24
在使用JSP时,我假设你使用的是JSF 1.x.
要通过查询参数的链接,请使用h:outputLink具有f:param:
<h:outputLink value="page.jsf">
<f:param name="param1" value="value1" />
<f:param name="param2" value="value2" />
</h:outputLink>
Run Code Online (Sandbox Code Playgroud)
该value可动态地EL的帮助下进行设置.
要设置他们在托管bean自动的,你需要在每个定义为managed-property在faces-config.xml:
<managed-bean>
<managed-bean-name>bean</managed-bean-name>
<managed-bean-class>com.example.Bean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>param1</property-name>
<value>#{param.param1}</value>
</managed-property>
<managed-property>
<property-name>param2</property-name>
<value>#{param.param2}</value>
</managed-property>
</managed-bean>
Run Code Online (Sandbox Code Playgroud)
#{param}如您从Servlet API中所知,非隐式EL变量引用请求参数映射.bean当然应该具有定义适当的getter/setter的属性param1和param2属性.
如果您想在设置后直接执行某些逻辑,请使用@PostConstruct注释:
@PostConstruct
public void init() {
doSomethingWith(param1, param2);
}
Run Code Online (Sandbox Code Playgroud)
有关在JSF中传递参数和类型的更多提示,您可能会发现本文很有用.
JSF 2.x方法将@ManagedProperty在支持bean类或<f:viewParam>目标视图中使用.另请参阅此问题:ViewParam与@ManagedProperty(value ="#{param.id}")
| 归档时间: |
|
| 查看次数: |
20065 次 |
| 最近记录: |