@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>
上記の xhtml は、アカウント リストを表示するために使用されます。
コマンドリンクを見てください。その値 (ユーザーのログイン) をパラメーターとして、ProfileViewer Bean の PostConstruct メソッドであるアクション メソッドに渡したいと思います。
ProfileViewer Bean コードは次のとおりです。
@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() {
}
}
これどうやってするの?私を助けてください!簡単で良い解決策といくつかのコードで答えていただければ幸いです。
わかりました、このように言いましょう: アカウントのリストを表示する JSF ページがあります。各アカウント名 (ログイン) をプロファイル情報 (選択したアカウントに関する情報を表示する他の jsf ページ) へのリンクにしたい