博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts2杂记(一)——使用doubleSelect
阅读量:4947 次
发布时间:2019-06-11

本文共 4217 字,大约阅读时间需要 14 分钟。

一、前言

这段时间忙的要死,做项目,学框架,时间根本不够用,只能尽量抽出时间记录自己学过的东西。

1.1、doubleSelect

在之前学习中,我们使用过二级列表,相信很多人都理解其原理,在struts中,同样也为我们准备了二级列表,使用doubleSelect就能够时间

进入主题

1、搭建环境(这里笔者使用的struts框架是2.3的,

 

 2、配置struts2.3环境

 2.1、web.xml配置过滤器

LearStruts2_4
default.jsp
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*

2.2、在WEB-INF中新建class文件夹,文件夹下新建struts.xml配置信息

/doubleSelectTag.jsp

3、新建实体类

package com.struts.ui.action;public class City {    private int id;         private String name;          public City(){     }          public City(int id,String name){      this.id = id;      this.name = name;     }    public int getId() {      return id;     }    public void setId(int id) {      this.id = id;     }    public String getName() {      return name;     }    public void setName(String name) {      this.name = name;     }}
City
package com.struts.ui.action;public class Provice {    private int id;          private String name;          public Provice(){           }          public Provice(int id,String name){      this.id = id;      this.name = name;     }    public int getId() {      return id;     }    public void setId(int id) {      this.id = id;     }    public String getName() {      return name;     }    public void setName(String name) {      this.name = name;     }     }
Provice

4、新建DoubleSelectTagAction类继承ActionSupport

package com.struts.ui.action;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.util.ValueStack;/** * 使用doubleSelect 二级联下拉,配置环境是struts2.3 tomcat8.0 * 相关的类有: * City.java * Provice.java * doubleSelectTag.jsp * DoubleSelectTagAction.java * 访问:http://localhost:8080/LearStruts2_4/doubleselectTag * 目的:简单就是选择一级列表之后出现二级菜单选项 * 这里使用的是传递对象的id到jsp页面,之后通过id查找 * */public class DoubleSelectTagAction extends ActionSupport {    private List
provices;// Provice对象的列表 private Map
> cityMap;// 以Provice对象为key,Provice对应的City对象的列表作为value public Map
> getCityMap() { return cityMap; } public DoubleSelectTagAction(){ provices = new ArrayList
(); Provice provice1 = new Provice(1,"四川省"); Provice provice2 = new Provice(2,"山东省"); Provice provice3 = new Provice(3,"湖南省"); Provice provice4 = new Provice(4,"广东省"); provices.add(provice1); provices.add(provice2); provices.add(provice3); provices.add(provice4); List
cities1 = new ArrayList
(); List
cities2 = new ArrayList
(); List
cities3 = new ArrayList
(); List
cities4 = new ArrayList
(); cities1.add(new City(1,"成都市")); cities1.add(new City(2,"绵阳市")); cities2.add(new City(1,"济南市")); cities2.add(new City(2,"青岛市")); cities3.add(new City(1,"长沙市")); cities3.add(new City(2,"郴州市")); cities4.add(new City(1,"广州市")); cities4.add(new City(2,"深圳市")); cityMap = new HashMap
>(); cityMap.put(provice1.getId(), cities1); cityMap.put(provice2.getId(), cities2); cityMap.put(provice3.getId(), cities3); cityMap.put(provice4.getId(), cities4); } public String execute() throws Exception { return SUCCESS; } public List
getProvices(){ return provices; }}

5、新建jsp视图页面显示数据

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s"%>    
Insert title here

注意点:此处是map集合的键是id,所以使用到cityMap.get(top.id),下面这种是map集合为对象的时候,代码只是有点不同。

DoubleSelectTagAction

 

jsp页面

doubleSelectTag.jsp

 

效果如下:效果是有的,是笔者的录制软件的问题

总结:

原理跟二级列表类似,需要注意的点是:当使用id时,必须保证listkey=id 和 doubleList= citymap.get(top.id) 中的top.id相同。代码亲测,可以使用。

博客

转载于:https://www.cnblogs.com/IT-1994/p/6135952.html

你可能感兴趣的文章
Upselling promotion stored procedure
查看>>
mysql编码配置
查看>>
KVM地址翻译流程及EPT页表的建立过程
查看>>
sigar
查看>>
iOS7自定义statusbar和navigationbar的若干问题
查看>>
c++ 网络编程(一)TCP/UDP windows/linux 下入门级socket通信 客户端与服务端交互代码...
查看>>
LR、HMM、CRF和MaxEnt区别
查看>>
程序员如何提高影响力:手把手教你塑造个人品牌
查看>>
身份证校验原理和PHP实现
查看>>
[Locked] Wiggle Sort
查看>>
deque
查看>>
[C#]基于HttpWebRequest和HttpWebResponse的HttpHelper
查看>>
Prime Path[POJ3126] [SPFA/BFS]
查看>>
Max Min
查看>>
《将博客搬至CSDN》
查看>>
数据库的设计(MySQL)
查看>>
第二天
查看>>
【微服务架构】SpringCloud之Feign(五)
查看>>
软件工程第0次作业
查看>>
资深的顾问的3样工具
查看>>