Struts2的select使用


struts2的select標簽中,常用的有以下幾個屬性:
(1)struts2中的select 標簽中,必須設置的屬性只有一個,即是list。
(2)select標簽的list中必須有值,不然會報錯。如果沒有值,可以加上headerKey, headerValue,這樣就可以通過了
其中,即使list中有值,我們也通常會加上headerKey, headerValue,即列表中顯示的第一個選項。注意,headerKey不可以為空,不可以為-1
(3)list屬性:通常是在action中定義的,必須是一個可以迭代的源,如為一個List, Map, Set等。如果是一個Map,那么map的key就對應於select標簽中的value,map中的value就對應於select標簽中的option。而如果是一個List或者是一個Set,那么可以通過listKey和listValue指定。
(4)listKey和listValue:listKey即對應於select標簽中的value, listValue即對應於select標簽中的option。
(5)name屬性:即是表單中select的名稱。
<!----------------------轉載結束---------------------------------------------------->


1.頁面程序

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>student select list</title>
  </head>
  <body>
  
  <s:form name="form1" action="stuValueselectActionTest">
     <s:select          
            label="選擇學生"
            list="liststu"
            name="selectStudent"
            listKey="userid"
            listValue="username"
            emptyOption="false"
            value="3"               //這里的value值對應於listKey中的userid,即為默認值,從數據庫中取到某學生的值,賦予value即可
            
            />
      <s:submit/>
  </s:form>

  </body>
</html>

2. 學生信息基礎類 (StudentListTest.java),填充至list中.
package com.shangyu.bean;

public class StudentListTest {
 private String username;
 private int userid;
 public int getUserid() {
  return userid;
 }
 public void setUserid(int userid) {
  this.userid = userid;
 }
 public String getUsername() {
  return username;
 }
 public void setUsername(String username) {
  this.username = username;
 }
}

3.后台程序賦值給list傳回前台頁面 (StudentSelectActionTest.java)

package com.shangyu.action;

import com.opensymphony.xwork2.ActionSupport;
import com.shangyu.bean.*;
import java.util.*;
public class StudentSelectActionTest extends ActionSupport{
 private List liststu;

 public List getListstu() {
  return liststu;
 }

 public void setListstu(List liststu) {
  this.liststu = liststu;
 }
 
 public String execute()
 {
  List liststu=new ArrayList<StudentListTest>();
  
  StudentListTest stutest=new StudentListTest();
  
  stutest.setUserid(1);
  stutest.setUsername("蕭峰");
  liststu.add(stutest);
  stutest=null;
  
  stutest=new StudentListTest();
  stutest.setUserid(2);
  stutest.setUsername("虛竹");
  liststu.add(stutest);
  stutest=null;
  
  stutest=new StudentListTest();
  stutest.setUserid(3);
  stutest.setUsername("段譽");
  liststu.add(stutest);
  
  setListstu(liststu);
  return SUCCESS;
  
 }


}

 

4.取值測試的程序(stuValueselectActionTest.java)

package com.shangyu.action;
import com.opensymphony.xwork2.ActionSupport;
public class stuValueselectActionTest extends ActionSupport{
 
 private String selectStudent;

 public String getSelectStudent() {
  return selectStudent;
 }

 public void setSelectStudent(String selectStudent) {
  this.selectStudent = selectStudent;
 }
 
 public String execute()
 {
  
  System.out.println(getSelectStudent());  //打印出選擇的值
  return SUCCESS;
 }

}


5. 配置xml
         <action name="studentSelectTest" class="com.shangyu.action.StudentSelectActionTest">
            <result name="error">/error.jsp</result>
            <result name="success">/studentSelectTest.jsp</result> 
         </action>

         <action name="stuValueselectActionTest" class="com.shangyu.action.stuValueselectActionTest">
            <result name="error">/error.jsp</result>
            <result name="success">/xx.jsp</result> 
         </action>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM