Java Struts2 doubleselect實現省市級聯下拉框

在Struts2中,給我們提供了一個s:doubleselect標籤,該標籤可以實現級聯下拉選擇。

doubleselect.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
	<title>Document</title>
	<%@ taglib prefix="s" uri="/struts-tags" %>
	<style type="text/css">select{width:200px;height:40px;}</style>
</head>
<body>
	<s:form action="resultAction" namespace="/">
	
		<s:bean name="top.k10000.DoubleSelectAction" id="location"></s:bean>
		
		<s:doubleselect 
			label="Server (OGNL) " 
			name="province" 
			list="#location.map.keySet()" 
			doubleName="city" 
			doubleList="#location.map[top]" />
			
		<s:submit value="submit" name="submit" />
	</s:form>
</body>
</html>

result.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
	<meta charset="utf-8">
	<title>Document</title>
</head>
<body>
	<s:property value="province"/> , <s:property value="city"/>
</body>
</html>

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>

	<constant name="struts.devMode" value="true" />
 	
	<package name="default" namespace="/" extends="struts-default">
		<action name="doubleSelectAction" class="top.k10000.DoubleSelectAction" method="display">
			<result name="success">/doubleselect.jsp</result>
		</action>
		
		<action name="resultAction" class="top.k10000.DoubleSelectAction">
			<result name="success">/result.jsp</result>
		</action>
  </package>
	
</struts>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name></display-name>	
  <welcome-file-list>
    <welcome-file>doubleselect.jsp</welcome-file>
  </welcome-file-list>
  <filter>
  	<filter-name>struts2</filter-name>
  	<filter-class>
  		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  	</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

DoubleSelectAction.java

package top.k10000;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import com.opensymphony.xwork2.ActionSupport;

public class DoubleSelectAction extends ActionSupport{
	private static final long serialVersionUID = 1L;
	private String province;
	private String city;
	Map<String, ArrayList<String>> map;

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public Map<String, ArrayList<String>> getMap() {
		return map;
	}

	public void setMap(Map<String, ArrayList<String>> map) {
		this.map = map;
	}

	public DoubleSelectAction(){
		map =new HashMap<String, ArrayList<String>>();		
		map.put("廣東省", new ArrayList<String>(Arrays.asList("廣州市", "深圳市", "汕尾市","東莞市")));
		map.put("北京", new ArrayList<String>(Arrays.asList("東城區", "西城區","朝陽區")));
		map.put("新疆省", new ArrayList<String>(Arrays.asList("烏魯木齊","克拉瑪依市","圖木舒克市")));
		System.out.println(map);
	}

	public String execute() {
		return SUCCESS;
	}
	
	public String display() {
		return SUCCESS;
	}
	
}



園子參考:https://www.cnblogs.com/IT-1994/p/6135952.html

發佈了54 篇原創文章 · 獲贊 21 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章