java中setAttribute(string name, object value) 请问 string name和 object value 分别代表啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中setAttribute(string name, object value) 请问 string name和 object value 分别代表啥意思相关的知识,希望对你有一定的参考价值。

java中setAttribute(string name, object value) string name表示变量名,object value 代表变量对应的值
如:setAttribute(“XX”, “123”),表示把值是123的变量xx传出去
参考技术A setAttribute这个方法,在JSP内置对象session和request都有这个方法,这个方法作用就是保存数据,然后还可以用getAttribute方法来取出。
比如现在又个User对象,User curruser = new User("zhangsan", 20, "男");
1,request.setAttribute(“curruser”, curruser)这个方法是将curruser这个对象保存在request作用域中,然后在转发进入的页面就可以获取到你的值,如果你会一些框架的话,那些框架标签也可以获取到,比如struts标签,还有jstl。如果这你都不会的话,那么你可以在jsp页面编写java小脚本来获取:<% User myuser = (User)request.getAttribute("curruser")%>,在jsp页面显示值:<%=myuser.getName()%>。
2,session.setAttribute("curruser", curruser)。这个方法和上面唯一的区别就是作用域,就是在你整个程序启动的时候,如果在session中保存了数据,那么在你这个无论你在哪个页面,在什么时候都可以获取到这个值,全局的,只要你的这个程序是启动的。session默认的过期时间是30分钟,过期无效,可以去修改这个值。
参考技术B 类似 key 和 value 参考技术C ??????同一个人?追问

刚刚本来想追问的,可是点错了,直接采纳了。能帮我具体分析一下吗?谢谢啦

追答

无语了,我以为你明白了。。。。、
就是一个一一映射关系,你可以通过name找到name对应的哪个对象,比如:

setAttribute(“user”,new User("name","pwd") );
你可以这样找到这个user对象:getAttribute("user");

Cannot resolve method 'setAttribute(java.lang.String, java.lang.String)'

没有导入tomcat下的两个jsp的jar

解决方法:

Idea->File->Project Structure->Libraries

+ -> java -> 找到tomcat目录 lib/ -> 选择以下两个jar : ok 即可

 

如果是copy来的,其中已经有jsp-api但失效,要直接 - 删除jsp-api再按上述步骤添加。

以上是关于java中setAttribute(string name, object value) 请问 string name和 object value 分别代表啥意思的主要内容,如果未能解决你的问题,请参考以下文章

java 中下面这四种方法 具体用法和解释

Symfony 警告:DOMElement::setAttribute(): string is not in UTF-8

JAVA学习——forward和sendRedirect区别总结

C# webBrowser无法赋值SetAttribute

在java类中使用getRequest().setAttribute("userFlag", userFlag)赋值,如何在jsp中使用

Jsp获取Java的重定向赋值(String)