EasyUI初步使用课题的展示(第六天)
2017-07-09 本文已影响0人
setone
第六天;
构思:
1.在struts.xml里面的action通过type="redirectAction"直接在struts.xml里面跳转到另外一个action,然后执行
2.自动查询所有科目
3.根据放进Session的userinfo去 ErrorsubjectDAO里面找到错题信息
我们需要知道
- El表达式
- ognl表达式
今天我们要完成的样式如下图

这是EasyUI其中的一个框架,贴上代码
onepage.jsp
<%@ page language="java" import="java.util.* " pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'MyJsp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="css/easyui.css">
<link rel="stylesheet" type="text/css" href="css/icon.css">
<style type="text/css">
.mytable {
table-layout: fixed;
width: 98% border:0px;
border:1px solid #cad9ea;
table-layout:fixed;
empty-cells:show;
border-collapse: collapse;
margin:0 auto;
bgcolor:#E8E8E8;
}
.mytable tr td {
text-overflow: ellipsis; /* for IE */
-moz-text-overflow: ellipsis; /* for Firefox,mozilla */
overflow: hidden;
white-space: nowrap;
border: 1px solid;
text-align: left
}
</style>
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script type="text/javascript" src="js/jquery.easyui.min.js"></script>
<style> li {list-style-type:none;}</style>
<script type="text/javascript">
</script>
</head>
<body class="easyui-layout">
<jsp:include page="/navigation/nav.jsp"></jsp:include>
<div data-options="region:'west',split:true,title:'科目'" style="width:18%;padding:10px;" >
<ul style="font-size:22px">
<s:iterator value="allclassList" var="v" status="s">
<li><span onclick="showcontent(${v.classid });"><a href="javascript:;">${v.classname}</a></span></li>
</s:iterator>
</ul>
</div>
<div data-options="region:'east',split:true,collapsed:true,title:'错题(<s:property value="allErrorsubject.size()"/>道) '" style="width:16%;padding:10px;">
<s:iterator value="allErrorsubject" var="v" status="s">
<table class="mytable" width="200px" >
<tr>
<td>编    号</td>
<td>${s.count }</td>
</tr>
<tr>
<td>科    目</td>
<td>${v.subject.allclass.classname }</td>
</tr>
<tr>
<td>错误次数</td>
<td>${v.errordegree }</td>
</tr>
<tr>
<td>错误时间</td>
<td>${v.errordate }</td>
</tr>
<tr>
<td colspan="2" align="center"><a href="javascript:;" onclick="searchtitle(${v.subject.subjectid})"><strong>  查    看    详    情</strong></a></td>
</tr>
</table><br/>
</s:iterator>
</div>
<div data-options="region:'south',border:false" style="height:45px;background:#A9FACD;padding:10px;">
<p align="center">Copyright@2016-2017 浙ICP备160465465号-1</p>
</div>
<div id="message" data-options="region:'center',title:'题目'">
    
<input id="searchtxt" class="easyui-textbox" buttonText="搜  索" style="width:95%;height:30px;" /><hr/>
<span id="searchShow"><p align="center">提供对题库的搜索</p></span>
</div>
</body>
</html>
同时我们也配套添加了一个jsp
nav.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'xxJsp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<style type="text/css">
body, div, ul, li{margin:0; padding:0;font-style: normal;font:16px/22px "\5B8B\4F53",Arial, Helvetica, sans-serif;}
/* \5B8B\4F53 代表 宋体,更多中文字体转 Unicode http://www.divcss5.com/jiqiao/j325.shtml */
ul ,li{list-style:none}
img {border: 0; vertical-align:middle}
body{color:#000000;background:#FFF; text-align:center}
.clear{clear:both;height:1px;width:100%; overflow:hidden; margin-top:-1px}
a{color:#000000;text-decoration:none;font-size: 16px}
a:hover{color:#00FFFF}
ul#navcss{ width:100%; height:100%; background:#00A2CA;margin:0 auto}
ul#navcss li{display:inline; height:100%;}
ul#navcss li a{display:inline-block; padding:0 20px; height:100%; line-height:40px;
color:#FFF; font-family:"\5FAE\8F6F\96C5\9ED1"; font-size:16px}
ul#navcss li a:hover{background:#0095BB}
</style>
</head>
<body>
<div class="navall" data-options="region:'north',border:false" style="height:60px;background:#B3DFDA;padding:10px">
<ul id="navcss">
<li><a href="#">登  录</a></li>
<li><a href="answer/errorList.action?userinfo.userid=${userinfo.userid}">消灭错题</a></li>
<li><a href="answer/logout.action">注销登录</a></li>
<li><a href="http://www.havelook.science">联系我们</a></li>
<li style="float:right;"><a href="answer/userinfodatail.action">${userinfo.uame},欢迎</a></li>
</ul>
</div>
</body>
</html>
有了新需求,自然配置文件也会随之变动
struts.xml
<package name="default" namespace="/answer" extends="struts-default">
<action name="login" class="userinfoAction" method="login">
<result name="success" type="redirectAction">answerview</result>
<result name="error">/error.jsp</result>
</action>
<action name="preRegister">
<result name="success">/userinfo/register.jsp</result>
</action>
<action name="register" class="userinfoAction" method="register">
<result name="success">/index.jsp</result>
</action>
<action name="checkregisternameinput" class="userinfoAction" method="checkregistername"/>
<action name="answerview" class="allclassAction" method="classList">
<result name="success">/homepage/onepage.jsp</result>
</action>
</package>
struts.xml对应的·java文件也发生变化
AllclassAction.java
package com.jianshu.action;
import java.util.List;
import org.apache.struts2.ServletActionContext;
import org.springframework.beans.factory.annotation.Autowired;
import com.jianshu.bean.Userinfo;
import com.jianshu.service.AllclassService;
import com.jianshu.service.ErrorsubjectService;
public class AllclassAction {
@Autowired
AllclassService allclassService;
@Autowired
ErrorsubjectService errorsubjectService;
List allErrorsubject;
public List getAllErrorsubject() {
return allErrorsubject;
}
public void setAllErrorsubject(List allErrorsubject) {
this.allErrorsubject = allErrorsubject;
}
List allclassList;
public List getAllclassList() {
return allclassList;
}
public void setAllclassList(List allclassList) {
this.allclassList = allclassList;
}
/**
* 查询所有科目,和错题
* @return success
*/
public String classList() {
allclassList = allclassService.findAll();
Userinfo userinfo = (Userinfo) ServletActionContext.getRequest()
.getSession().getAttribute("userinfo");// 从session里面取出userinfo
allErrorsubject = errorsubjectService.findList(userinfo);
return "success";
}
}
AllclassService.java
package com.jianshu.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.jianshu.dao.AllclassDAO;
public class AllclassService {
@Autowired
AllclassDAO allclassDAO;
public AllclassDAO getAllclassDAO() {
return allclassDAO;
}
public void setAllclassDAO(AllclassDAO allclassDAO) {
this.allclassDAO = allclassDAO;
}
/**
* 查詢到所有科目
* @return
*/
public List findAll() {
// TODO Auto-generated method stub
return allclassDAO.findAll();
}
}
ErrorsubjectService
package com.jianshu.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.jianshu.bean.Userinfo;
import com.jianshu.dao.ErrorsubjectDAO;
public class ErrorsubjectService {
@Autowired
ErrorsubjectDAO errorsubjectDAO;
/**
* 根据用户id查询
* @param userinfo
* @return
*/
public List findList(Userinfo userinfo) {
return errorsubjectDAO.findByUserid(userinfo.getUserid());
}
}
ErrorsubjectDAO要添加
public static final String USERID = "userinfo.userid";
/**'
* 执行hql
* @param userid
* @return
*/
public List findByUserid(Long userid) {
return findByProperty(USERID, userid);
}