案例功能:
要求从数据库查询出所有试题,手动选择要添加的试题。并且要求试题的顺序可自行改变
order.jsp页面
- <span style="font-size: 18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%@ taglib uri="/struts-tags" prefix="s"%>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <s:head cache="true" />
- <title>试题</title>
- </head>
- <body>
- <s:form action="exam/question">
- <s:optiontransferselect
- label="排序试题"
- labelposition="top"
- name="questionsId"
- doubleName="orderQuestionsId"
- list="questions"
- listKey="id"
- listValue="name"
- doubleList="orderQuestions"
- doubleListKey="id"
- doubleListValue="name"
- selectAllLabel="选中所有"
- addToLeftLabel="向左移动"
- addToRightLabel="向右移动"
- addAllToRightLabel="全部导入右侧"
- addAllToLeftLabel="全部导入左侧" /><br/>
- <s:submit value="提交" />
- </s:form>
- </body>
- </html>
- </span>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<s:head cache="true" />
<title>试题</title>
</head>
<body>
<s:form action="exam/question">
<s:optiontransferselect
label="排序试题"
labelposition="top"
name="questionsId"
doubleName="orderQuestionsId"
list="questions"
listKey="id"
listValue="name"
doubleList="orderQuestions"
doubleListKey="id"
doubleListValue="name"
selectAllLabel="选中所有"
addToLeftLabel="向左移动"
addToRightLabel="向右移动"
addAllToRightLabel="全部导入右侧"
addAllToLeftLabel="全部导入左侧" /><br/>
<s:submit value="提交" />
</s:form>
</body>
</html>
试卷排序的action
- package action;
- import java.util.ArrayList;
- import java.util.List;
- import model.Question;
- import com.opensymphony.xwork2.ActionSupport;
- public class QuestionAction extends ActionSupport {
- //未排序试题
- private List<Question> questions;
- //已排序试题
- private List<Question> orderQuestions;
- //未排序试题Id
- private List questionsId;
- //已排序试题Id
- private List orderQuestionsId;
- @Override
- public String execute() throws Exception {
- // TODO Auto-generated method stub
- System.out.println("左侧列表的试题"+questionsId);
- System.out.println("右侧列表的试题"+orderQuestionsId);
- //获取到选中的试题Id后 根据Id去数据库中查找出相对应的试题即可
- return super.execute();
- }
- //传递数据到排序页面
- public String order(){
- questions=selectAll();
- return SUCCESS;
- }
- //从数据库获取左侧列表信息
- public List<Question> selectAll(){
- //虚拟数据库
- List<Question> list=new ArrayList<Question>();
- Question q1=new Question(1, 0, "试题1");
- Question q2=new Question(2, 0, "试题2");
- Question q3=new Question(3, 0, "试题3");
- Question q4=new Question(4, 0, "试题4");
- list.add(q1);
- list.add(q2);
- list.add(q3);
- list.add(q4);
- return list;
- }
- public List getQuestionsId() {
- return questionsId;
- }
- public void setQuestionsId(List questionsId) {
- this.questionsId = questionsId;
- }
- public List getOrderQuestionsId() {
- return orderQuestionsId;
- }
- public void setOrderQuestionsId(List orderQuestionsId) {
- this.orderQuestionsId = orderQuestionsId;
- }
- public List<Question> getQuestions() {
- return questions;
- }
- public void setQuestions(List<Question> questions) {
- this.questions = questions;
- }
- public List<Question> getOrderQuestions() {
- return orderQuestions;
- }
- public void setOrderQuestions(List<Question> orderQuestions) {
- this.orderQuestions = orderQuestions;
- }
- }
package action;
import java.util.ArrayList;
import java.util.List;
import model.Question;
import com.opensymphony.xwork2.ActionSupport;
public class QuestionAction extends ActionSupport {
//未排序试题
private List<Question> questions;
//已排序试题
private List<Question> orderQuestions;
//未排序试题Id
private List questionsId;
//已排序试题Id
private List orderQuestionsId;
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("左侧列表的试题"+questionsId);
System.out.println("右侧列表的试题"+orderQuestionsId);
//获取到选中的试题Id后 根据Id去数据库中查找出相对应的试题即可
return super.execute();
}
//传递数据到排序页面
public String order(){
questions=selectAll();
return SUCCESS;
}
//从数据库获取左侧列表信息
public List<Question> selectAll(){
//虚拟数据库
List<Question> list=new ArrayList<Question>();
Question q1=new Question(1, 0, "试题1");
Question q2=new Question(2, 0, "试题2");
Question q3=new Question(3, 0, "试题3");
Question q4=new Question(4, 0, "试题4");
list.add(q1);
list.add(q2);
list.add(q3);
list.add(q4);
return list;
}
public List getQuestionsId() {
return questionsId;
}
public void setQuestionsId(List questionsId) {
this.questionsId = questionsId;
}
public List getOrderQuestionsId() {
return orderQuestionsId;
}
public void setOrderQuestionsId(List orderQuestionsId) {
this.orderQuestionsId = orderQuestionsId;
}
public List<Question> getQuestions() {
return questions;
}
public void setQuestions(List<Question> questions) {
this.questions = questions;
}
public List<Question> getOrderQuestions() {
return orderQuestions;
}
public void setOrderQuestions(List<Question> orderQuestions) {
this.orderQuestions = orderQuestions;
}
}
struts.xml配置文件
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
- "http://struts.apache.org/dtds/struts-2.3.dtd">
- <struts>
- <package name="exam" extends="struts-default" namespace="/exam">
- <action name="orderQuestion" class="action.QuestionAction" method="order">
- <result name="success">
- /order.jsp
- </result>
- </action>
- <action name="question" class="action.QuestionAction" >
- <result name="success">
- /index.jsp
- </result>
- </action>
- </package>
- </struts>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="exam" extends="struts-default" namespace="/exam">
<action name="orderQuestion" class="action.QuestionAction" method="order">
<result name="success">
/order.jsp
</result>
</action>
<action name="question" class="action.QuestionAction" >
<result name="success">
/index.jsp
</result>
</action>
</package>
</struts>
试卷类
- package model;
- public class Question {
- private int id;
- private int order;
- private String name;
- public Question() {
- super();
- }
- public Question(int id, int order, String name) {
- super();
- this.id = id;
- this.order = order;
- this.name = name;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public int getOrder() {
- return order;
- }
- public void setOrder(int order) {
- this.order = order;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- @Override
- public String toString() {
- return "Question [id=" + id + ", order=" + order + ", name=" + name
- + "]";
- }
- }