<h:message for="" />
JSFオブジェクトによると質問があります。私はJSF1.1(はい、残念ながら)myFacesプロジェクトを持っています。ラベル、inputText、メッセージホルダーを含む簡単なJSPファイルを用意しました。
<h:form id="sacLinkForm">
<cblFaces:outputLabel for="dedicatedCashAccountNumber"
value="#{appBundle.KUSTA_DEDICATED_CASH_ACCOUNT_NUMBER}"/>
<t:inputText id="dedicatedCashAccountNumber"
value="#{createController.modelFE.sacLink.dedicatedCashAccountNumber}"/>
<h:message id="dedicatedCashAccountNumberError"
for="dedicatedCashAccountNumber" />
</h:form>
また、簡単な検証方法を作成しました。
public static boolean validate(SACLink link) {
boolean isError = false;
FacesContext context = FacesContext.getCurrentInstance();
FacesMessage message = new FacesMessage();
message.setSeverity(FacesMessage.SEVERITY_ERROR);
if (StringUtils.isEmpty(link.dedicatedCashAccountNumber)) {
//MessageUtils.addErrorMessage("dedicatedCashAccountNumber", "Dedicated Cash Account Number is mandatory");
message.setSummary("Field mandatory");
message.setDetail("Dedicated Cash Account Number is mandatory");
context.addMessage("sacLinkForm:dedicatedCashAccountNumber", message);
isError = true;
}
return !isError;
}
私の問題は、sacLinkForm:dedicatedCashAccountNumber
コンパイルされたJSPがid(fe _idJsp12:DynTab2:DynView2:tabK.....er:vKustaMa....Controller:sacLinkForm:dedicatedCashAccountNumber
)を生成し、そのメソッドが属性にaddMessage
対応していない可能性があるためです。h:message for=".."
h:message
したがって、Javaが正しいオブジェクトを見つけることができなかったため、メッセージは正しく表示されません。h:message
Javaからメッセージを正しいものに設定する方法はありますか?JSF1.1ページで「一定」のコンポーネントIDを強制する方法はないと思います。
ありがとうございました。