Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee JSF-将参数传递给@PostConstruct方法_Jakarta Ee_Jsf 2_Ejb - Fatal编程技术网

Jakarta ee JSF-将参数传递给@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

我在向@ManagedBean的@PostConstruct方法传递参数时遇到了一个小问题。我已经知道不能就这样做,但我也不知道如何才能做到

让我们从一些代码开始:

    <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() {
}
}