簡體   English   中英

如何將url參數傳遞給JSF?

[英]How to pass url parameters to JSF?

我還沒有找到通過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>

可以借助EL動態設置該value

要在托管bean中自動設置它們,您需要在faces-config.xml中將每個定義為managed-property

<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中傳遞參數和類型的更多提示,您可能會發現本文很有用。

JSF 2.x方法將在支持bean類中使用@ManagedProperty ,或在目標視圖中使用<f:viewParam> 另請參閱此問題: ViewParam與@ManagedProperty(value =“#{param.id}”)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM