gpt4 book ai didi

jsf - 如何将url参数传递给JSF?

转载 作者:行者123 更新时间:2023-12-04 02:51:19 26 4
gpt4 key购买 nike

我还没有设法找到通过 URL 参数将参数传递给 JSF 页面的方法。

http://www.example.com/jsfApp.jsp?param1=value1&param2=value2

有人能指出我正确的方向吗?

最佳答案

当您使用 JSP 时,我假设您使用的是 JSF 1.x。

要使用查询参数创建链接,请使用 h:outputLinkf:param :

<h:outputLink value="page.jsf">
<f:param name="param1" value="value1" />
<f:param name="param2" value="value2" />
</h:outputLink>
value可以在 EL 的帮助下动态设置。

要在托管 bean 中自动设置它们,您需要将每个定义为 managed-propertyfaces-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>

隐式 EL 变量 #{param}指的是您从 Servlet API 中了解到的请求参数映射。 bean当然应该已经有 param1param2定义了适当的 getter/setter 的属性。

如果您想在设置后直接执行某些逻辑,请使用 @PostConstruct注释:
@PostConstruct
public void init() {
doSomethingWith(param1, param2);
}

有关在 JSF 中传递参数和类似内容的更多提示,您可以找到 this article有用。

JSF 2.x 方法将使用 @ManagedProperty在支持 bean 类中,或 <f:viewParam>在目标 View 中。另见这个问题: ViewParam vs @ManagedProperty(value = "#{param.id}")

关于jsf - 如何将url参数传递给JSF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2456295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com