我正在使用Tomcat编写Web服务器. 我决定使用的技术是JSTL. 我想首先说它有效,页面显示成功,一切都运行. 我想摆脱警告. 我从intelliJ获得的警告是:“无法解析变量””,它来自一个JSP页面
我决定使用的技术是JSTL.
我想首先说它有效,页面显示成功,一切都运行.
我想摆脱警告.
我从intelliJ获得的警告是:“无法解析变量””,它来自一个JSP页面,我有一些JSTL代码.使用RequestDispatcher转发函数从我的控制器调用jsp页面.
request.setAttribute("resultsModel", resultsModel); request.setAttribute("times", times); request.setAttribute("emailErr", emailErr); request.setAttribute("qid", id); RequestDispatcher view = request.getRequestDispatcher("ShowResults.jsp"); view.forward(request, respone);
然后,JSP页面在各种JSTL标记中使用此变量,例如来自页面:
<c:choose> <%-- When database access was succesfull --%> <c:when test="${resultsModel != null}"> <c:choose> <%-- When the job ID exists --%> <c:when test="${resultsModel.jobEntity != null}">
等…
然后在我尝试访问resultModel的那些位置给出警告.
我尝试添加一个jsp:useBean标记:
<jsp:useBean id="resultsModel" scope="request" type="bgu.bioinf.rnaSequenceSniffer.Model.ResultsModel"/>
但我仍然收到警告.
任何的想法?我做的事情真的错了吗?
谢谢!
今天我搜索了这个问题并找不到解决方案.
但是我使用ModelMap而不是HttpServletRequest.
map.put("info",info);
毫无疑问我得到了这个警告,然后我改变了方法:
map.addAttribute("info",info);
我想说这种方式确实解决了警告,你甚至可以用ctrl button1来导航控制器中的bean.我不知道这是否解决了其他情况下的问题,但在intellij 2018.1中我只是摆脱它.希望它对你有用