用户登录时候,在java里面保存用户账号如下:
request.getSession().setAttribute("adminid", str);在jsp页面取值:
<s:hidden name="adminid" value="#request.adminid"></s:hidden>
<s:hidden name="adminid" value="#session.adminid"></s:hidden>
<s:hidden name="adminid" value="#request.session.adminid"></s:hidden>
都取不到,请问怎么才能取到adminid的值。如果我想用el表达式取,又应该怎么取。谢谢大家。
request.getSession().setAttribute("adminid", str);在jsp页面取值:
<s:hidden name="adminid" value="#request.adminid"></s:hidden>
<s:hidden name="adminid" value="#session.adminid"></s:hidden>
<s:hidden name="adminid" value="#request.session.adminid"></s:hidden>
都取不到,请问怎么才能取到adminid的值。如果我想用el表达式取,又应该怎么取。谢谢大家。
解决方案 »
- struts2 使用链接传递参数问题
- 拦截器和过滤器很重要
- struts2中属性驱动和模型驱动
- spring 事务管理问题 当一个线程处地使用状态时,其它线程不能操作数据库
- 用XML保存数据的弊端和好处,高手来解答!
- div在myeclipse预览模式下能显示,但是在浏览器中运行就不显示了
- struts +hibernate + oracle 如何进行查询操作
- J2EE项目里JXL生成excel并导出的问题
- resin谁用过,告诉我javabean放在什么地方,是不是要自己建一个文件夹,再resin配置文件里指定,
- Eclipse中某一项目下,ctrl+左键的快捷键无效
- Spring通过ApplicationContext获取Bean的奇怪问题
- 关于jfreechart产生的图形无法打印的问题
session.put("adminid", str);那么页面上就可以写成value="#session.adminid"了至于你这个应该怎么写,可以试试value="${adminid}"
或者用el:
${sessionScope.adminid}
Struts2里面有能这样那Session吗?
String adminid = (String)session.getAttribute("adminid");
可以在页面中这样子取到
javax.servlet.ServletException: org.apache.jasper.JasperException: /admin/addAdmin.jsp(103,0) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
root cause org.apache.jasper.JasperException: /admin/addAdmin.jsp(103,0) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
你在Sturts2的哪里调用者方法???
你的Action继承什么?
public String execute() {
boolean flag=login.checkUser(getUsername(), getPassword());
if(flag){
return "succ";
}
return "fail";
}
}
public boolean checkUser(String userid,String password){
HttpServletRequest request = ServletActionContext.getRequest();
request.getSession().setAttribute("adminid", str);
return....;
}jsp:
<s:hidden name="adminid" value="${sessionScope.adminid}"></s:hidden>
要不你先到Action中:String adminid = (String) request.getSession().getAttribute("adminid");
System.out.println(adminid);
看在控制台能打印出来不.
不过我之前经常用这个方法将用户ID保存到session中,那样能取出值来呀.
String a = request.getParameter("name");
这样能拿到页面上的值!
HttpSession session = request.getSession();
String s = (String)session.getAttribute("name");
这样取不到的
StringBuffer sql=new StringBuffer();
sql.append("select userID,userPurview from co_admin where userID='")
.append(userid.trim())
.append("' and userPassword='")
.append(MD5Util.MD5Encode(password.trim()))
.append("';");
HttpServletRequest request = ServletActionContext.getRequest();
try {
List list=jdbc.getQueryResult(sql.toString());
if(list!=null&&list.size()>0){
String [] info=(String[]) list.get(0);
request.getSession().setAttribute("adminid", info[0]);
request.getSession().setAttribute("purview", info[1]);
String adminid = (String) request.getSession().getAttribute("adminid");
System.out.println("adminid1:"+adminid);
request.getSession().setAttribute("islogin", "true");
flag=true;
}
Struts很少这样拿值得。就算我刚刚学习的时候老师也说用类似Struts的From取值。。
这样更符合点。当然页面上也要隐藏标签!
function sumbit(doAction,value){
}
里面是获得from
在获得hidden的name 然后赋值。
在提交就ok了!!!
request.getSession().setAttribute("adminid", str);
<s:hidden name="adminid" value="#session.adminid"></s:hidden> 2.Struts2 是否支持EL。struts2.1的版本中struts2标签不支持EL表达式。
你怎么能这样做咯,ActionContext session = ActionContext.getContext();然后session.getSession();如果想保存值的话 session.put("键","值");
想用EL表达试就别用s:hidden ,直接用原始的hidden
<input type="hidden" name="adminid" value=${adminid}">