メソッド内のいくつかのものを初期化@ViewScoped
@ManagedBean
するためのを持っています。@RequestParam
@PostConstruct
@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は、のような呼び出しで正しく挿入されますが、xhtmlページにtest.jsf?id=1357
いくつかのものを追加したいと思います。これは、 (およびハードコードされている)p:ajax
を削除すると正常に機能しますが、このインジェクションを使用したい場合は何も起こらず、Firebugは次の応答を返します。@Inject @RequestParam
id
init()
<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>
Bean@RequestParam
でを使用するにはどうすればよいですか?@ViewScoped