我正在使用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中我只是摆脱它.希望它对你有用
