0
我有@ViewScoped
@ManagedBean
與@RequestParam
來初始化我的@PostConstruct
方法中的某些內容。在@ViewScoped Bean中使用AJAX焊接@RequestParam
@ManagedBean @ViewScoped
public class MyBean implements Serializable
{
@javax.inject.Inject
@org.jboss.solder.servlet.http.RequestParam("id")
private long id;
@PostConstruct
public void init() {...}
...
}
的ID與像test.jsf?id=1357
調用正確的注射,但現在我想添加一些p:ajax
東西在我的XHTML頁面。如果我刪除了@Inject @RequestParam
(並在init()
硬編碼的id
)這工作正常,但如果我想使用此注射沒有任何反應和螢火蟲給了我這樣的響應:
<partial-response><error>
<error-name>class java.lang.IllegalStateException</error-name>
<error-message><![CDATA[Can not set long field MyBean.id to null value]]></error-message>
</error></partial-response>
在
更改類型private Long id
結果
<partial-response><error>
<error-name>class java.lang.IllegalStateException</error-name>
<error-message><![CDATA[]]></error-message>
</error></partial-response>
如何在@ViewScoped
Bean中使用@RequestParam
?
我不知道縫焊接是什麼,它應該做的,但你可以用標準的JSF2''標籤實現相同的基本功能要求。 –
BalusC
2012-02-06 16:06:12
謝謝你的解決方法,目前我已經刪除了@Inject @ RequestParam並使用了''。 –
Thor
2012-02-08 07:30:58