【发布时间】:2023-03-27 20:00:01
【问题描述】:
我的 h:commandLink 不起作用。我在 faces-config.xml 中有一个导航规则,在我的 bean 中有一个字符串方法 doSave()。我不知道为什么它只重新加载页面而不跳转到doSave()方法。
jsf页面
<h:form id="surveyForm">
<div class="srvButton">
<h:commandLink action="#{surveyBean.doSave}" value="#{msg.srvButton}" />
</div>
</h:form>
人脸配置
<navigation-rule>
<from-view-id>/pages/survey.xhtml</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/pages/surveyFinish.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
豆
public String doSave() {
// Kundendaten speichern
saveCustomer();
return "success";
}
我清理了jsf页面中的内容以获得更好的视图,但你只需要知道我认为的表单和按钮。
【问题讨论】:
-
重新加载可能表明转换/验证失败。你的表单中有
h:messages标签吗? -
不,我在表单中只有一些
h:selectOneRadio、t:inputText和一个h:dataTable标签。我有一个类似的网页,它在那里工作,但我找不到差异 -
然后尝试添加
h:messages。它显示所有验证错误,您将更深入地了解发生的情况。 -
我还没有任何验证方法,但我会尽快实现它们。错误必须在不同的地方
-
您是否尝试使用消息标签运行您的代码?即使您没有验证方法,至少也会执行转换。您能否验证您的操作方法是否被调用(调试)?
标签: forms jsf javabeans commandlink