关于optiontransferselect标签 返回数据到action



案例功能:

要求从数据库查询出所有试题,手动选择要添加的试题。并且要求试题的顺序可自行改变


order.jsp页面

  1. <span style="font-size: 18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%@ taglib uri="/struts-tags" prefix="s"%>  
  3.   
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  5. <html>  
  6. <head>  
  7. <s:head cache="true" />  
  8.   
  9. <title>试题</title>  
  10. </head>  
  11. <body>  
  12.     <s:form action="exam/question">  
  13.         <s:optiontransferselect   
  14.             label="排序试题"   
  15.             labelposition="top"  
  16.             name="questionsId"   
  17.             doubleName="orderQuestionsId"   
  18.             list="questions"  
  19.             listKey="id"   
  20.             listValue="name"   
  21.             doubleList="orderQuestions"  
  22.             doubleListKey="id"   
  23.             doubleListValue="name"   
  24.             selectAllLabel="选中所有"  
  25.             addToLeftLabel="向左移动"   
  26.             addToRightLabel="向右移动"  
  27.             addAllToRightLabel="全部导入右侧"   
  28.             addAllToLeftLabel="全部导入左侧" /><br/>  
  29.         <s:submit value="提交" />  
  30.     </s:form>  
  31. </body>  
  32. </html>  
  33. </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

  1. package action;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6.   
  7. import model.Question;  
  8.   
  9. import com.opensymphony.xwork2.ActionSupport;  
  10.   
  11. public class QuestionAction extends ActionSupport {  
  12.     //未排序试题  
  13.     private List<Question> questions;  
  14.     //已排序试题  
  15.     private List<Question> orderQuestions;  
  16.     //未排序试题Id  
  17.     private List questionsId;     
  18.     //已排序试题Id  
  19.     private List orderQuestionsId;  
  20.       
  21.     @Override  
  22.     public String execute() throws Exception {  
  23.         // TODO Auto-generated method stub  
  24.         System.out.println("左侧列表的试题"+questionsId);  
  25.         System.out.println("右侧列表的试题"+orderQuestionsId);  
  26.         //获取到选中的试题Id后 根据Id去数据库中查找出相对应的试题即可  
  27.           
  28.         return super.execute();  
  29.     }  
  30.       
  31.     //传递数据到排序页面  
  32.     public String order(){  
  33.         questions=selectAll();  
  34.         return SUCCESS;  
  35.     }  
  36.       
  37.     //从数据库获取左侧列表信息  
  38.     public List<Question> selectAll(){  
  39.         //虚拟数据库  
  40.         List<Question> list=new ArrayList<Question>();  
  41.         Question q1=new Question(10"试题1");  
  42.         Question q2=new Question(20"试题2");  
  43.         Question q3=new Question(30"试题3");  
  44.         Question q4=new Question(40"试题4");  
  45.         list.add(q1);  
  46.         list.add(q2);  
  47.         list.add(q3);  
  48.         list.add(q4);  
  49.         return list;  
  50.     }  
  51.       
  52.     public List getQuestionsId() {  
  53.         return questionsId;  
  54.     }  
  55.     public void setQuestionsId(List questionsId) {  
  56.         this.questionsId = questionsId;  
  57.     }  
  58.     public List getOrderQuestionsId() {  
  59.         return orderQuestionsId;  
  60.     }  
  61.     public void setOrderQuestionsId(List orderQuestionsId) {  
  62.         this.orderQuestionsId = orderQuestionsId;  
  63.     }  
  64.     public List<Question> getQuestions() {  
  65.         return questions;  
  66.     }  
  67.     public void setQuestions(List<Question> questions) {  
  68.         this.questions = questions;  
  69.     }  
  70.     public List<Question> getOrderQuestions() {  
  71.         return orderQuestions;  
  72.     }  
  73.     public void setOrderQuestions(List<Question> orderQuestions) {  
  74.         this.orderQuestions = orderQuestions;  
  75.     }     
  76. }  
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配置文件

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.3.dtd">  
  5.   
  6. <struts>  
  7.    
  8.     <package name="exam" extends="struts-default" namespace="/exam">  
  9.         <action name="orderQuestion" class="action.QuestionAction" method="order">  
  10.             <result name="success">  
  11.                 /order.jsp  
  12.             </result>  
  13.         </action>  
  14.         <action name="question" class="action.QuestionAction" >  
  15.             <result name="success">  
  16.                 /index.jsp  
  17.             </result>  
  18.         </action>  
  19.     </package>  
  20.       
  21. </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>

试卷类

  1. package model;  
  2.   
  3. public class Question {  
  4.     private int id;  
  5.     private int order;  
  6.     private String name;  
  7.       
  8.     public Question() {  
  9.         super();  
  10.     }  
  11.     public Question(int id, int order, String name) {  
  12.         super();  
  13.         this.id = id;  
  14.         this.order = order;  
  15.         this.name = name;  
  16.     }  
  17.     public int getId() {  
  18.         return id;  
  19.     }  
  20.     public void setId(int id) {  
  21.         this.id = id;  
  22.     }  
  23.     public int getOrder() {  
  24.         return order;  
  25.     }  
  26.     public void setOrder(int order) {  
  27.         this.order = order;  
  28.     }  
  29.     public String getName() {  
  30.         return name;  
  31.     }  
  32.     public void setName(String name) {  
  33.         this.name = name;  
  34.     }  
  35.     @Override  
  36.     public String toString() {  
  37.         return "Question [id=" + id + ", order=" + order + ", name=" + name  
  38.                 + "]";  
  39.     }  
  40. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值