麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Struts2(十)OGNL標簽二與Struts2標簽

2019-11-14 23:33:11
字體:
供稿:網(wǎng)友
Struts2(十)OGNL標簽二與Struts2標簽一、Struts2標簽的優(yōu)勢

標簽庫簡化了用戶對標簽的使用

結(jié)合OGNL使用,對于集合、對象的訪問功能非常強大

提供可擴展的主題、模板支持、極大簡化了視圖頁面的編寫

不依賴任何表現(xiàn)層技術(shù)

Struts2標簽的分類:

通用標簽(Generir Tags)

  • 數(shù)據(jù)標簽(Data Tags)
  • 控制標簽(Control Tags)

UI標簽(UI Tags)

Ajax標簽(Ajax Tags)

二、數(shù)據(jù)標簽

web.xml

<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>

三個實體類

package com.pb.entity;/* * 地區(qū)類 */public class District {        private int districtId;            //地區(qū)編號    private String districtName;    //地區(qū)名稱        public District() {        super();        // TODO Auto-generated constructor stub    }    public District(int districtId, String districtName) {        super();        this.districtId = districtId;        this.districtName = districtName;    }    public int getDistrictId() {        return districtId;    }    public String getDistrictName() {        return districtName;    }    public void setDistrictId(int districtId) {        this.districtId = districtId;    }    public void setDistrictName(String districtName) {        this.districtName = districtName;    }        }package com.pb.entity;/* * 街道 */public class Street {            private int streetId;            //街道ID        private String streetName;    //街道名稱        private District district;        //街道所在地區(qū)        public Street() {            super();            // TODO Auto-generated constructor stub        }        public Street(int streetId, String streetName, District district) {            super();            this.streetId = streetId;            this.streetName = streetName;            this.district = district;        }        public District getDistrict() {            return district;        }        public int getStreetId() {            return streetId;        }        public String getStreetName() {            return streetName;        }        public void setDistrict(District district) {            this.district = district;        }        public void setStreetId(int streetId) {            this.streetId = streetId;        }        public void setStreetName(String streetName) {            this.streetName = streetName;        }                }package com.pb.entity;import java.util.Date;/* * 房屋 */public class House {            private int houseId;    //房屋ID    private String title;        //房屋標題    private Street street;//房屋所在街道    private Date addDate;//房屋發(fā)布日期    private String desc;        //房屋描述    public House() {        super();        // TODO Auto-generated constructor stub    }    public House(int houseId, String title, String desc, Date addDate,            Street street) {        super();        this.houseId = houseId;        this.title = title;        this.desc = desc;        this.addDate = addDate;        this.street = street;    }    public Date getAddDate() {        return addDate;    }    public String getDesc() {        return desc;    }    public int getHouseId() {        return houseId;    }    public Street getStreet() {        return street;    }    public String getTitle() {        return title;    }    public void setAddDate(Date addDate) {        this.addDate = addDate;    }    public void setDesc(String desc) {        this.desc = desc;    }    public void setHouseId(int houseId) {        this.houseId = houseId;    }    public void setStreet(Street street) {        this.street = street;    }    public void setTitle(String title) {        this.title = title;    }}

houseaction

package com.pb.web.action;import java.util.ArrayList;import java.util.Date;import java.util.List;import com.opensymphony.xwork2.ActionSupport;import com.pb.entity.District;import com.pb.entity.House;import com.pb.entity.Street;public class HouseAction extends ActionSupport {    /**     *      */    private static final long serialVersionUID = 1L;    private List<House> houses;    @Override    public String execute() throws Exception {        //聲明地區(qū)        District dt1=new District(75501,"寶安區(qū)");        District dt2=new District(75502,"南山區(qū)");        //聲明街道        Street street1=new Street(74,"布心一村",dt1);        Street street2=new Street(25,"商業(yè)街",dt1);        Street street3=new Street(87,"科技園",dt2);        Street street4=new Street(99,"南頭古城",dt2);        //房屋        House house1=new House(11,"一房一廳","靠近公園",new Date(),street1);        House house2=new House(12,"二房一廳","環(huán)中線",new Date(),street2);        House house3=new House(13,"單間","高新公寓",new Date(),street3);        House house4=new House(14,"一房一廳","靠近中山公園",new Date(),street4);        houses=new ArrayList<House>();        //添加        houses.add(house1);        houses.add(house2);        houses.add(house3);        houses.add(house4);        return SUCCESS;    }    public List<House> getHouses() {        return houses;    }    public void setHouses(List<House> houses) {        this.houses = houses;    }        }

struts.xml

 <package name="default" namespace="/" extends="struts-default">    <action name="house" class="com.pb.web.action.HouseAction">    <result name="success">    /houseList.jsp    </result>    </action>    </package>

頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags"%><%//絕對路徑     String path = request.getContextPath();    String basePath = request.getScheme() + "://"            + request.getServerName() + ":" + request.getServerPort()            + path + "/";%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><!-- 引入絕對路徑 --><base href="<%=basePath%>"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>房屋列表信息</title></head><body><!--房屋列表中第一個房屋的信息標題  -->房屋列表中第一個房屋的信息標題 :<s:property value="houses[0].title"/><br/>房屋列表中第一個房屋的信息ID :<s:property value="houses[0].houseId"/><br/><!--房屋列表中第一個房屋的信息標題  -->房屋列表中第一個房屋的信息標題 :<s:property value="" default="默認信息"/><br/><!--是否轉(zhuǎn)義HTML,將OGNL轉(zhuǎn)化為字符要加單引號   -->是否轉(zhuǎn)義HTML:<s:property value="'<hr/>'" /><br/><!--是否轉(zhuǎn)義HTML 將OGNL轉(zhuǎn)化為字符要加單引號 escapeXml默認為true -->是否轉(zhuǎn)義HTML:<s:property value="'<hr/>'" escapeHtml="false" /><br/><!--s:date標簽格式化日期  -->房屋列表中第一個房屋的發(fā)布日期 未格式:<s:property value="houses[0].addDate"/><br/>房屋列表中第一個房屋的發(fā)布日期 格式化后:<s:date name="houses[0].addDate"  format="yyyy-MM-dd HH:mm:ss"/><br/><s:property value="'<hr/>'" escapeHtml="false"/><br/><!--s:set標簽  -->房屋列表中第一個房屋的街道名稱:<s:set var="s" value="houses[0].Street" /><s:property value="#s.streetName"/><br/>房屋列表中第一個房屋的街道ID:<s:property value="#s.streetId"/><br/>房屋列表中第一個房屋的地區(qū)名稱:<s:property value="houses[0].Street.District.districtId"/><br/>房屋列表中第一個房屋的地區(qū)名稱:<s:set var="d" value="#s.District" /><s:property value="#d.districtName"/><br/><br/>房屋列表中第一個房屋的地區(qū)ID:<s:property value="#d.districtId"/><br/><br/><s:property value="'<hr/>'" escapeHtml="false"/><br/><!--scope指定s:set var的取值  -->房屋列表中第一個房屋的街道名稱:<s:set var="s" value="houses[0].Street" scope="request" /><s:property value="#request.s.streetName"/><br/>房屋列表中第一個房屋的街道ID:<s:property value="#request.s.streetId"/><br/><s:property value="'<hr/>'" escapeHtml="false"/><br/>房屋列表中第一個房屋的地區(qū)名稱:<s:set var="d" value="houses[0].Street.District" scope="session"/><s:property value="#session.d.districtName"/><br/>房屋列表中第一個房屋的地區(qū)ID:<s:property value="#session.d.districtId"/><br/><s:debug/><br/></body></html>

地址欄輸入:http://localhost:8080/OGNLDemo2/house.action發(fā)生跳轉(zhuǎn)

三、s:a與s:url

<s:url var="house" value="house.action"><!-- 傳遞參數(shù) name為參數(shù)名稱 vaule為要傳的值 --><s:param name="str" value="'struts2'"/></s:url><!--  使用%{}來獲取值--><s:a href="%{#house}">跳轉(zhuǎn)列表頁面</s:a><!--動態(tài)包含  --><s:include value="include.jsp"></s:include>

四、控制標簽

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags"%><%    //絕對路徑     String path = request.getContextPath();    String basePath = request.getScheme() + "://"            + request.getServerName() + ":" + request.getServerPort()            + path + "/";%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><!-- 引入絕對路徑 --><base href="<%=basePath%>"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>房屋列表信息</title><style type="text/CSS">.header{    text-align: center;    background-color: #999999;    font-weight: bold;    font-size: 18px;}.even {    text-align: center;    background-color: #FFCCFF;}.odd {    text-align: center;    background-color: #CCCCFF;}</style></head><body>    <table border="1" width="100%">        <tr class="header">            <td>房屋編號</td>            <td>房屋標題</td>            <td>房屋描述</td>            <td>房屋發(fā)布日期</td>            <td>房屋街道ID</td>            <td>房屋街道</td>            <td>房屋街道地區(qū)ID</td>            <td>房屋街道地區(qū)名稱</td>        </tr>        <s:iterator var="hou" value="houses" status="status">            <s:if test="#status.even">                <tr class="even">            </s:if>            <s:if test="#status.odd">                <tr class="odd">            </s:if>            <!-- 定義街道 -->            <s:set var="strtmp" value="#hou.Street" />            <!--定義地區(qū)  -->            <s:set var="distmp" value="#strtmp.District" />            <td><s:property value="#hou.houseId" /></td>            <td><s:property value="#hou.title" /></td>            <td><s:property value="#hou.desc" /></td>            <td><s:date name="#hou.addDate" format="yyyy-MM-dd HH:mm:ss" /></td>            <td><s:property value="#strtmp.streetId" /></td>            <td><s:property value="#strtmp.streetName" /></td>            <td><s:property value="#distmp.districtId" /></td>            <td><s:property value="#distmp.districtName" /></td>            </tr>        </s:iterator>    </table>    <s:debug /></body></html>

struts.xml

<action name="house2" class="com.pb.web.action.HouseAction">    <result name="success">    /houseList2.jsp    </result>    </action>

地址欄中輸入:http://localhost:8080/OGNLDemo2/house2.action訪問


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久精品九九 | 一级大片一级一大片 | 久久小视频 | 4p一女两男做爰在线观看 | 27xxoo无遮挡动态视频 | 国产一区二区三区精品在线观看 | 国产色91| 欧美精品成人 | 精品黑人一区二区三区国语馆 | 亚洲欧美日韩精品久久 | 成人午夜视频网站 | wankz100%videos| 亚洲人成网在线观看 | 欧美www | 亚洲精品 欧美 | 黄色99视频 | 中文字幕 日本 | 中文字幕激情视频 | 日日噜噜夜夜爽 | 成人在线视频免费播放 | 毛片在线免费 | 一级成人欧美一区在线观看 | 中文字幕在线免费观看电影 | 日本欧美一区二区 | 婷婷亚洲一区二区三区 | 国产毛片自拍 | 黑人日比| chinese乱子伦xxxx国语对白 | 毛片免费看电影 | 久久免费视屏 | 中文字幕欧美亚洲 | 精品国内视频 | 九一传媒在线观看 | 偷偷操偷偷操 | 欧美三级欧美成人高清www | 日韩字幕在线观看 | 免费a视频在线观看 | 天天透天天狠天天爱综合97 | 精品国产一区二区三区在线观看 | 免费激情网址 | 黄色网址免费进入 |