最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java的Struts框架中append標(biāo)簽與generator標(biāo)簽的使用

 更新時間:2015年12月04日 17:27:52   投稿:goldensun  
這篇文章主要介紹了Java的Struts框架中append標(biāo)簽與generator標(biāo)簽的使用方法,Struts是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下

append 標(biāo)簽:
這些append標(biāo)簽需要兩個或兩個以上的列表作為參數(shù),并追加它們放在一起,如下圖所示:

<s:append var="myAppendIterator">
   <s:param value="%{myList1}" />
   <s:param value="%{myList2}" />
   <s:param value="%{myList3}" />
</s:append>
<s:iterator value="%{#myAppendIterator}">
   <s:property />
</s:iterator>

如果有兩個列表A和B的值A(chǔ)1,A2和B1,B2。合并列表,會給你的A1,A2,B1,B2,而append 名單,會有A1,A2,B1,B2。

創(chuàng)建動作類:
首先,讓我們創(chuàng)建一個簡單的類叫做Employee.java,它看起來像:

package com.yiibai.struts2;

import java.util.ArrayList;
import java.util.List;

import org.apache.struts2.util.SubsetIteratorFilter.Decider;

public class Employee {
  private String name;
  private String department;

  public Employee(){}
  public Employee(String name,String department)
  {
   this.name = name;
   this.department = department;
  }
  private List employees;
  private List contractors;
 
  public String execute() {
   employees = new ArrayList();
   employees.add(new Employee("George","Recruitment"));
   employees.add(new Employee("Danielle","Accounts"));
   employees.add(new Employee("Melissa","Recruitment"));
   employees.add(new Employee("Rose","Accounts"));

   contractors = new ArrayList();
   contractors.add(new Employee("Mindy","Database"));
   contractors.add(new Employee("Vanessa","Network"));
   return "success";
  }

  public Decider getRecruitmentDecider() {
   return new Decider() {
     public boolean decide(Object element) throws Exception {
      Employee employee = (Employee)element;
      return employee.getDepartment().equals("Recruitment");
     }
   };
  }
  public String getName() {
   return name;
  }
  public void setName(String name) {
   this.name = name;
  }
  public String getDepartment() {
   return department;
  }
  public void setDepartment(String department) {
   this.department = department;
  }
  public List getEmployees() {
   return employees;
  }
  public void setEmployees(List employees) {
   this.employees = employees;
  }
  public List getContractors() {
   return contractors;
  }
  public void setContractors(List contractors) {
   this.contractors = contractors;
  }
 
}

Employee類有兩個屬性 - name 和 department,我們也有兩個員工名單 - employees 和contractors。我們有一個方法叫做getRecruitmentDecider,返回Decider 對象。Decider 實現(xiàn)返回true,如果雇員招聘部門工作,否則返回false。

接下來,讓我們創(chuàng)建一個DepartmentComparator比較Employee對象:

package com.yiibai.struts2;

import java.util.Comparator;

public class DepartmentComparator implements Comparator {
  public int compare(Employee e1, Employee e2) {
   return e1.getDepartment().compareTo(e2.getDepartment());
  }

  @Override
  public int compare(Object arg0, Object arg1) {
 return 0;
 }
}

在上面的例子所示,部門比較的基礎(chǔ)上按字母順序排列的部門員工進行比較。

創(chuàng)建視圖
創(chuàng)建一個文件叫做employee.jsp以下內(nèi)容:

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Employees</title>
</head>
<body>
  <b>Employees and Contractors Merged together</b>
  <br />
  <s:append id="allemployees">
   <s:param value="employees" />
   <s:param value="contractors" />
  </s:append >
  <s:iterator value="allemployees">
   <s:property value="name"/>,
   <s:property value="department"/><br/>
  </s:iterator>
</body>
</html>

append標(biāo)簽需要兩個或兩個以上列出作為參數(shù)。我們需要給予追加一個id,這樣我們就可以重用它。在這個例子中,我們提供了作為參數(shù)傳遞給員工和承包商的附加標(biāo)簽。然后,我們使用“allemployees”ID遍歷附加列表和打印員工的細(xì)節(jié)。

配置文件
struts.xml中應(yīng)該像這樣:

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

<struts>
  <constant name="struts.devMode" value="true" />

  <package name="helloworld" extends="struts-default">
   <action name="employee" 
     class="com.yiibai.struts2.Employee"
     method="execute">
     <result name="success">/employee.jsp</result>
   </action>
  </package>

</struts>

web.xml中,應(yīng)該像這樣:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  id="WebApp_ID" version="3.0">
  
  <display-name>Struts 2</display-name>
  <welcome-file-list>
   <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <filter>
   <filter-name>struts2</filter-name>
   <filter-class>
     org.apache.struts2.dispatcher.FilterDispatcher
   </filter-class>
  </filter>

  <filter-mapping>
   <filter-name>struts2</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

右鍵點擊項目名稱,并單擊Export > WAR File 創(chuàng)建一個WAR文件。然后部署此WAR在Tomcat的webapps目錄下。最后,啟動Tomcat服務(wù)器和嘗試訪問URL http://localhost:8080/HelloWorldStruts2/employee.action。這會給出以下畫面:

2015124172633013.jpg (560×267)

generator 標(biāo)簽:
generator標(biāo)簽生成一個迭代器的基礎(chǔ)上提供val屬性。以下generator標(biāo)簽生成一個迭代器,并使用迭代器標(biāo)簽打印出來。

<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}">
 <s:iterator>
   <s:property /><br/>
 </s:iterator>
</s:generator>

我們經(jīng)常遇到的一些情況,必須創(chuàng)建列表或數(shù)組上遍歷列表??梢詣?chuàng)建列表或數(shù)組使用scriptlet或者可以使用generator 標(biāo)簽。 tag.

創(chuàng)建action類:

package com.yiibai.struts2;

public class HelloWorldAction{
  private String name;

  public String execute() throws Exception {
   return "success";
  }
  
  public String getName() {
   return name;
  }

  public void setName(String name) {
   this.name = name;
  }
}

創(chuàng)建視圖
下列 helloWorld.jsp 展示使用generator 標(biāo)記:

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>

<h2>Example of Generator Tag</h2>
<h3>The colours of rainbow:</h3>

<s:generator val="%{'Violet,Indigo,Blue,
     Green,Yellow,Orange,Red '}" count="7" 
     separator=",">
  <s:iterator>
   <s:property /><br/>
  </s:iterator>
</s:generator> 
 
</body>
</html>

在這里,我們創(chuàng)建一個generator 標(biāo)簽,我們要求它解析的字符串,其中包含逗號分隔的列表,形成了彩虹的顏色。我們告訴發(fā)電機標(biāo)簽,分隔符是“,”我們希望所有七個值在列表中。如果我們只關(guān)心前三個值,然后我們會設(shè)置計數(shù)至3。發(fā)電機標(biāo)記在體內(nèi),我們使用了迭代器去通過由generator 標(biāo)記創(chuàng)建的值的打印屬性的值。

配置文件
struts.xml 應(yīng)該像這樣:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
  <package name="helloworld" extends="struts-default">
   
   <action name="hello" 
      class="com.yiibai.struts2.HelloWorldAction" 
      method="execute">
      <result name="success">/HelloWorld.jsp</result>
   </action>

  </package>
</struts>

web.xml 應(yīng)該像這樣:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  id="WebApp_ID" version="3.0">
  
  <display-name>Struts 2</display-name>
  <welcome-file-list>
   <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <filter>
   <filter-name>struts2</filter-name>
   <filter-class>
     org.apache.struts2.dispatcher.FilterDispatcher
   </filter-class>
  </filter>

  <filter-mapping>
   <filter-name>struts2</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

右鍵點擊項目名稱,并單擊Export > WAR File 創(chuàng)建一個WAR文件。然后部署此WAR在Tomcat的webapps目錄下。最后,啟動Tomcat服務(wù)器和嘗試訪問URL http://localhost:8080/HelloWorldStruts2/hello.action。這會給出以下畫面:

2015124172721265.jpg (560×297)

相關(guān)文章

  • MySQL中使用auto_increment修改初始值和步長

    MySQL中使用auto_increment修改初始值和步長

    本文主要介紹了MySQL中使用auto_increment修改初始值和步長,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • mysql實現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個表

    mysql實現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個表

    這篇文章主要介紹了mysql實現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個表,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • mysql動態(tài)游標(biāo)學(xué)習(xí)(mysql存儲過程游標(biāo))

    mysql動態(tài)游標(biāo)學(xué)習(xí)(mysql存儲過程游標(biāo))

    mysql動態(tài)游標(biāo)示例,通過準(zhǔn)備語句、視圖和靜態(tài)游標(biāo)實現(xiàn),大家參考使用吧
    2013-12-12
  • CentOS系統(tǒng)中MySQL5.1升級至5.5.36

    CentOS系統(tǒng)中MySQL5.1升級至5.5.36

    有相關(guān)測試數(shù)據(jù)說明從5.1到5.5+,MySQL性能會有明顯的提升,具體的需要自己建立測試環(huán)境去實踐下,今天我們就來操作下,并記錄下來升級的具體步驟
    2017-07-07
  • MySQL 數(shù)據(jù)庫 ALTER命令講解

    MySQL 數(shù)據(jù)庫 ALTER命令講解

    MySQL 為關(guān)系型數(shù)據(jù)庫(Relational Database Management System)。本文重點給大家介紹mysql數(shù)據(jù)庫alert命令講解,本文介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • MySQL 5.6.36 Windows x64位版本的安裝教程詳解

    MySQL 5.6.36 Windows x64位版本的安裝教程詳解

    這篇文章主要介紹了MySQL 5.6.36 Windows x64位版本的安裝教程詳解,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧
    2017-05-05
  • MySQL數(shù)據(jù)庫實現(xiàn)MMM高可用群集架構(gòu)

    MySQL數(shù)據(jù)庫實現(xiàn)MMM高可用群集架構(gòu)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫實現(xiàn)MMM高可用群集架構(gòu),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Mysql中聚簇索引和非聚簇索引的區(qū)別詳解

    Mysql中聚簇索引和非聚簇索引的區(qū)別詳解

    這篇文章主要介紹了Mysql中聚簇索引和非聚簇索引的區(qū)別詳解,聚簇索引就是按照每張表的主鍵構(gòu)造一顆B+樹,同時葉子節(jié)點中存放的就是整張表的行記錄數(shù)據(jù),也將聚集索引的葉子節(jié)點稱為數(shù)據(jù)頁,需要的朋友可以參考下
    2023-07-07
  • MySQL索引優(yōu)化Explain詳解

    MySQL索引優(yōu)化Explain詳解

    這篇文章主要介紹了MySQL索引優(yōu)化Explain詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • mysql 字符集的系統(tǒng)變量說明

    mysql 字符集的系統(tǒng)變量說明

    mysql 字符集的系統(tǒng)變量的一些說明,大家在使用過程中,可以作個參考。
    2009-07-07

最新評論

西丰县| 林口县| 齐齐哈尔市| 兴国县| 阳高县| 鄂托克前旗| 阿尔山市| 科技| 吴旗县| 叙永县| 平和县| 南充市| 宁南县| 蒲城县| 莎车县| 察隅县| 师宗县| 平武县| 贵溪市| 哈尔滨市| 威海市| 新田县| 昭平县| 威海市| 新河县| 礼泉县| 绥滨县| 赤峰市| 始兴县| 沧州市| 高淳县| 合川市| 广宗县| 富顺县| 茂名市| 班玛县| 威信县| 天祝| 泰顺县| 根河市| 辛集市|