1
在各個地方,他們說你應該使用@ManagedProperty來獲取請求參數。問題是我試圖從請求字符串中獲取令牌,但它始終保持爲空。JSF @ManagedProperty不起作用
的鏈接,該頁面是被稱爲是這樣的:
http://example.com/faces/Check.xhtml?token=EC-8AT450931P272300C&ID=VKEFF29XNGNJG
豆子:
@Named(value = "bean")
@RequestScoped
public class Bean implements Serializable {
@Inject
private AccountBean account;
@Inject
private Service web;
@ManagedProperty(value = "#{param.token}")
private String token;
@ManagedProperty(value = "#{param.ID}")
private String id;
@PostConstruct
public void init() {
System.out.println("token: " + token);
}
頁
<ui:define name="content">
<h:form>
<pou:commandButton action="#{bean.test()}" value="complete"/>
</h:form>
</ui:define>
還有其它的事情我想:
Map<String, String> e = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
這也不包含請求參數。同樣適用於所有facesContext可以請求的東西。
幫助將不勝感激。
P.S.我不能改變什麼?導致它從一個程序不叫我達到
添加到我的網站
,並刪除了#{} param.xxx部分解決方案基本上看到http://stackoverflow.com/questions/10058852/inject-to-pass-params-to-a-cdi-named-bean-via-url-gives-jboss-error-on-netbean,這是錯誤的做法。讓我知道,如果你弄明白了!您不能使用@ManagedProperty與命名,它們不兼容。 –
Thufir
2012-04-08 06:04:34
哦,這有助於......並且建議的解決方案對我來說並不是真的... – Niceone 2012-04-08 11:05:25
Ty Thufir將我指向該帖子 – Niceone 2012-04-08 12:10:18