POSTでエラーを処理してフォームに正しく表示するスプリングMVCフォームがあります(同じページのエラーを表示し、フォームからデータをクリアしません) 。また、トランザクションの成功時にフォームに成功メッセージを追加し、フォームの内容も消去したいと考えています。Spring MVCフォーム - 成功メッセージを追加してフォームをクリア
私は成功メッセージを処理する方法についての手がかりがありません。私はフォームにエラーとしてそれを渡そうとしましたが、これはエラーのために使用された色である赤色で表示されます。このメッセージの色を緑色に変更できません。ここで
model.addAttribute("serverError", "Transaction inserted Successfully !");
return "checkinout";
は私のコード -
の.css
.plErroMessage{margin-left:185px;color:white;background-color:red;width:165px;padding: 4px;}
checkinout.jsp
<div class="devices">
<form:form method="post" id="assetForm" modelAttribute="inOutTransaction" action="/DeviceManager/assets">
<form:errors path="*" cssClass="plErroMessage" element="div" />
<br>
<c:if test="${not empty serverError}">
<div id="serverError" class="plErroMessage">${serverError}</div>
</c:if>
<form:hidden path="actionId"/>
<div>
<div class="plLabelSearch">User Id:</div>
<div class="plinput"><form:input path="userId" size="29"/></div>
</div> <!-- More Code follows -->
コントローラである
@RequestMapping(value="/assets", method = RequestMethod.POST)
public String checkInOut(@ModelAttribute("inOutTransaction") @Validated InOutTransaction inOutTransaction, BindingResult result, Model model, Locale locale) {
try {
if(result.hasErrors()){
return "checkinout";
}
InOutTransactionDO inOutTransactionDO = new InOutTransactionDO();
/*CODE*/
if(employeeInfoDO == null){
model.addAttribute("serverError", "User "+ inOutTransaction.getUserId()+" does not exist !");
return "checkinout";
}
/*CODE*/
if(deviceMasterDO == null){
model.addAttribute("serverError", "Device Id "+ inOutTransaction.getAssetTagNumber()+" not found !");
return "checkinout";
}
inOutTransactionService.saveTransaction(inOutTransactionDO);
model.addAttribute("serverError", "Transaction inserted Successfully !");
return "checkinout";
} catch (Exception e) {
model.addAttribute("serverError", e.toString());
return "checkinout";
}
}
成功メッセージをエラーとして送信する場合は、どのようにCSSを変更できますか? –