У меня есть @ViewScoped
@ManagedBean
с @RequestParam
инициализировать некоторые вещи в моем @PostConstruct
методе.SEAM пайка @RequestParam в @ViewScoped Bean с AJAX
@ManagedBean @ViewScoped
public class MyBean implements Serializable
{
@javax.inject.Inject
@org.jboss.solder.servlet.http.RequestParam("id")
private long id;
@PostConstruct
public void init() {...}
...
}
идентификатора правильно вводят вызовы типа test.jsf?id=1357
, но теперь я хочу, чтобы добавить некоторые p:ajax
вещей в моей странице Xhtml. Это прекрасно работает, если я удалю @Inject @RequestParam
(и есть в init()
на жёстко прописанные id
), но если я хочу, чтобы использовать эти инъекции ничего не происходит, и Firebug дает мне этот ответ:
<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>
Как я могу использовать @RequestParam
в @ViewScoped
Bean?
Я понятия не имею, что Seam пайку и что он должен делать, но вы можете достичь того же базового функционального требования со стандартным тегом JSF2 ''. –
BalusC
Спасибо за этот обходной путь, в настоящее время я удалил '@Inject @ RequestParam' и использовал' '. –
Thor