Jakarta ee JSF-将参数传递给@PostConstruct方法
我在向@ManagedBean的@PostConstruct方法传递参数时遇到了一个小问题。我已经知道不能就这样做,但我也不知道如何才能做到 让我们从一些代码开始:Jakarta ee JSF-将参数传递给@PostConstruct方法,jakarta-ee,jsf-2,ejb,Jakarta Ee,Jsf 2,Ejb,我在向@ManagedBean的@PostConstruct方法传递参数时遇到了一个小问题。我已经知道不能就这样做,但我也不知道如何才能做到 让我们从一些代码开始: <h:form> <h:dataTable value="#{accountsList.accountsList}" var="konto"> <h:column> &l
<h:form>
<h:dataTable value="#{accountsList.accountsList}" var="konto">
<h:column>
<f:facet name="header">#{messages.id}</f:facet>
#{konto.id}
</h:column>
<h:column>
<f:facet name="header">#{messages.login}</f:facet>
<h:commandLink value="#{konto.login}" action="#{profileViewer.showProfile()}" />
</h:column>
.........
</h:dataTable>
</h:form>
我该怎么做?请帮帮我!如果能给我一个简单而好的解决方案和一些代码,我将不胜感激
好的,我这样说:
我有一个JSF页面显示帐户列表。我希望每个帐户名(登录名)都是到配置文件信息的链接(这是另一个显示所选帐户信息的jsf页面)切勿尝试在
@PostConstruct
方法中使用视图参数。这是在构造函数之后调用的,JSF没有在其上建立值。此外,您应该从操作方法中删除@PostConstruct
注释,然后可以从h:commandLink
以多种方式传递用户登录值:
- #{profileViewer.showProfile(登录)}
- f:param name=“user”value=“login”
- f:atribute name=“user”value=“login”
- f:setPropertyActionListener target=“#{profileViewer.showProfile}”value=“login”
#{profileViewer.showProfile(login)}
,请小心,某些服务器可能会出现以下问题:
你在这里到底想得到什么?请删除不必要的变量,以便问题更清楚。通过此链接。它对JSF-2.0中的通信给出了清晰的概念。
@ManagedBean
@RequestScoped
public class ProfileViewer {
@EJB
private MokEndpointLocal mokEndpoint;
private Konta konto;
private String login;
@PostConstruct
public String showProfile(){
konto = mokEndpoint.getAccountByLogin(login);
return "profile";
}
public Konta getKonto() {
return konto;
}
public void setKonto(Konta konto) {
this.konto = konto;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public ProfileViewer() {
}
}