这是我的控制器代码。
@RequestMapping(value={VspCommonConstants.INTERVIEW_PANEL_MANAGER_URL+"/submitAssessmentform"}, method = RequestMethod.POST)
public String submitAssessmentform(HttpServletRequest request,Model model) throws JsonParseException, JsonMappingException, IOException
{
boolean saveFlag=false;
try {
saveFlag = interviewQuestionResultService.saveInterviewQuestionRemark(actualData, list,new Long(Appid),new Long(uInfo.getId()),existFlag,
VspCommonConstants.getIpFromRequest(request),new Long(uInfo.getId()));
} catch (Exception e) {
saveFlag=false;
}
model.addAttribute("saveFlag",saveFlag);
return view;
}
在jsp上,我正在document.ready函数中使用“ saveFlag”,如下所示
$(document).ready(function() {
var saveFlagValue = $("#saveFlag").val();
alert("saveflag:"+saveFlagValue);
if(saveFlagValue == "true"){
/* swal("Error","Data saved successfully .","error"); */
swal({
html : true,
title : '<i></i>',
text : '<b>Data saved successfully.</b>'
});
}
});
现在,我只想在控制器执行所有代码后才拥有这个saveFlag。但不幸的是,我的页面加载时即时通讯正在获取数据。我想在表单提交时获取此saveFlag并从控制器获取响应,而不是在启动时获取。请帮我解决问题。谢谢。
答案 0 :(得分:0)
在JSP中,您应该将jQuery代码包装到此标记中:
<c:if test="${not empty saveFlag}">
<script type="text/javascript">
$(document).ready(function() {...}
</script>
</c:if>
当用户第一次到达页面时,saveFlag
为空,因为尚未调用控制器。结果,jQuery代码将无法执行。但是,提交表单后,saveFlag
是true
或false
,并显示成功/错误消息。