学生成绩管理系统,有学生教师管理员三种用户,在用户登录表中,有角色这个字段,有student、teacher、admin三种角色,通过Httpsession,在jsp页面中进行判断是那种角色,下面是java代码中的login方法,
在java类中,
在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一样的。
为什么是session1呢,session是JSP的内置对象直接用可以了啊,就像你使用request一样的。
10
<s:if test="#session.USER.getJs() == "admin"">
10
<s:if test= <%session.USER.getJs()%> == “admin””>
这样的,session是内置对象,但是也是需要经过JDK编译的,所以是Java代码
这样的,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"}">