您的位置:首页 > Web前端 > JavaScript

踩坑(1):IDEA中解决JSP页面cannot resolve method setAttribute("")

2018-03-20 21:00 2659 查看

踩坑(1):IDEA中解决JSP页面cannot resolve method setAttribute(“”)

标签(空格分隔): 踩坑

在一个项目中,我要在jsp页面中使用
SpringMVC<from:form>
表单
标签解析一个性别gender的的radiobuttons。

代码如下:

<%
Map<String,String> genders = new HashMap<>();
genders.put("1","Male");
genders.put("0","Female");
%>
Gender:<form:radiobuttons path="gender" items="${genders}" />


但是运行出错了,提示的错误信息是:

java.lang.IllegalArgumentException: 'items' must not be null


也就是说
items="${genders}
没有取到信息,也就是说我再jsp页面中写的java代码
genders
没有获取到。

解决方法是将
genders
信息加入到请求域中,通过
request.setAttribute()
方法。

<%
Map<String,String> genders = new HashMap<>();
genders.put("1","Male");
genders.put("0","Female");

request.setAttribute("genders",genders);
%>


但是重点来了!
setAttribute
这几个字母是红色的,也就是说压根没有识别到是这个方法。

IDEA也提示:
cannot resolve method setAttribute("")


而相同的代码在Eclipse中就没有错误。排除了页面中import的错误后,我怀疑是缺少包。

那且少什么包呢?
servlet-api.jar
jsp-api.jar
这两个包。

这两个jar包是是tomcat自带的,因此在
Project Structure
中,选择
Library
–>
Application Server Libraries
–>
Tomcat 8.5


将这个引入后,就会导入缺少的包,过几秒中,包加载进来,就可以使用request.setAttribute()了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  idea jsp
相关文章推荐