データテーブルの列に commandLink を配置しようとしていますが、リンクをクリックすると、バックビーンでメソッドが呼び出されず、画面が更新され、何も起こりません。
私の問題についてインターネット上でいくつかのトピックがあることを知っています。私はすでにすべてのソリューションを試しましたが、ドンクは機能しました。Bean のスコープを変更しようとしましたが、h:commandLink に切り替えようとしましたが、html を消去してテンプレートを削除しましたが、何も解決しませんでした。私は何を間違っていますか?私のコードに従ってください:
私はglasshfish 3とprimeface 3.5を使用しています
xhtml:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head></h:head>
<h:body>
<h:form id="formTournament">
<p:messages id="messages" />
<p:dataTable id="tableTournaments"
value="#{tournamentBean.lazyModel}" var="tournament">
<p:column>
<p:commandLink id="signupt" action="#{tournamentBean.signUpTournament}"
update=":formTournament">
<f:setPropertyActionListener value="#{tournament}"
target="#{tournamentBean.selectedTournament}" />
</p:commandLink>
</p:column>
</p:dataTable>
</h:form>
</h:body>
</html>
豆
@ManagedBean
@ViewScoped
public class TournamentBean{
private Tournament selectedTournament;
public TournamentBean() {
this.selectedTournament = new Tournament();
}
public void signUpTournament() {
this.tournamentController.signUpTournament(this.selectedTournament);
}
//getters and setters
}
手伝ってくれてありがとう!