Code Bye

两个问题请教,jsp访问Httpsession不成功

学生成绩管理系统,有学生教师管理员三种用户,在用户登录表中,有角色这个字段,有student、teacher、admin三种角色,通过Httpsession,在jsp页面中进行判断是那种角色,下面是java代码中的login方法,
在java类中,
	DlService dlService=new DlServiceImp();
	private int pageNow=1;
	private int pageSize=8;
	private HttpSession session1;
	private HttpServletRequest request1;

	private Dlb dl;
	public Dlb getDl() {
		return dl;
	}
	public void setDl(Dlb dl) {
		this.dl = dl;
	}
	public String login() throws Exception {
		DlService dlService=new DlServiceImp();
		Dlb user=dlService.find(dl.getXh(), dl.getMm());
		if(user!=null)
		{
			session1 = ServletActionContext.getRequest().getSession();
			session1.setAttribute("USER", user);
			return SUCCESS;
		}
		else
			return ERROR;
	} 

下面是jsp代码

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <head>
    
    <title>学生成绩管理系统</title>
    
  </head>
	<frameset rows="18%,82%" cols="*" framespacing="3" frameborder="yes" border="0"> 

	<frame src="head.jsp" name="topFrame" scrolling="no" noresize="noresize" id="topFrame" /> 
	<frameset rows="*" cols="210,*" framespacing="0" frameborder="yes" border="1">
		<s:if test="#session1.USER.getJs() == "admin""> 
			<frame src="left_adm.jsp" name="left_admFrame" scrolling="no" noresize="noresize" id="left_admFrame" /> 
			<frame src="right_adm.jsp" name="right_admFrame" id="right_admFrame" />

		</s:if>

		<s:elseif test="#session1.USER.getJs() == "teacher"">
			<frame src="<%= request.getContextPath() %>/frame/teacher/left_tea.jsp" name="left_teaFrame" scrolling="no" noresize="noresize" id="left_teaFrame" /> 
			<frame src="<%= request.getContextPath() %>/frame/teacher/main_tea.jsp" name="right_teaFrame" id="right_teaFrame" />
		</s:elseif>

		<s:else>
			<frame src="<%= request.getContextPath() %>/frame/student/left_stu.jsp" name="left_stuFrame" scrolling="no" noresize="noresize" id="left_stuFrame" /> 
			<frame src="<%= request.getContextPath() %>/frame/student/main_stu.jsp" name="right_stuFrame" id="right_stuFrame" />

		</s:else>

		 
	</frameset> 
</frameset>
  
</html>

但不管用,请教

解决方案

15

<s:if test=”#session1.USER.getJs() == “admin””>
为什么是session1呢,session是JSP的内置对象直接用可以了啊,就像你使用request一样的。

10

 <s:if test="#session.USER.getJs() == "admin"">

10

<s:if test= <%session.USER.getJs()%> == “admin””>
这样的,session是内置对象,但是也是需要经过JDK编译的,所以是Java代码

10

<s:if test="#session.USER.js == "admin"">

试试这个,
检查是获取不到user对象,还是获取不到js属性,或是你的比较逻辑有问题,慢慢排查吧

15

本人的天啊,本人只是写个大致意思,Java里获取session里面的内容怎么写,不是通过.取得吧。得是session.getAttribute(“…..”)这样的。

15

<s:if test="${USER.js == "admin"}">
<s:if test="<%= "admin".equals(  ((User)session.getAttrbute("USER")).getJs()  )   %>">

15

request.getSession().setAttribute("user", user);//后台这么写
<s:if test="${user.js == "admin"}"> //jsp这么写

10

写错了应该是这样
<s:if test="${user.js eq "admin"}">

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明两个问题请教,jsp访问Httpsession不成功