国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java的Struts框架中append標簽與generator標簽的使用

Java的Struts框架中append標簽與generator標簽的使用

2020-05-25 15:50java教程網 JAVA教程

這篇文章主要介紹了Java的Struts框架中append標簽與generator標簽的使用方法,Struts是Java的SSH三大web開發框架之一,需要的朋友可以參考下

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

?
1
2
3
4
5
6
7
8
<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的值A1,A2和B1,B2。合并列表,會給你的A1,A2,B1,B2,而append 名單,會有A1,A2,B1,B2。

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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 實現返回true,如果雇員招聘部門工作,否則返回false。

接下來,讓我們創建一個DepartmentComparator比較Employee對象:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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;
 }
}

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

創建視圖
創建一個文件叫做employee.jsp以下內容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%@ 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標簽需要兩個或兩個以上列出作為參數。我們需要給予追加一個id,這樣我們就可以重用它。在這個例子中,我們提供了作為參數傳遞給員工和承包商的附加標簽。然后,我們使用“allemployees”ID遍歷附加列表和打印員工的細節。

配置文件
struts.xml中應該像這樣:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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中,應該像這樣:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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 創建一個WAR文件。然后部署此WAR在Tomcat的webapps目錄下。最后,啟動Tomcat服務器和嘗試訪問URL http://localhost:8080/HelloWorldStruts2/employee.action。這會給出以下畫面:

Java的Struts框架中append標簽與generator標簽的使用

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

?
1
2
3
4
5
<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}">
 <s:iterator>
   <s:property /><br/>
 </s:iterator>
</s:generator>

我們經常遇到的一些情況,必須創建列表或數組上遍歷列表。可以創建列表或數組使用scriptlet或者可以使用generator 標簽。 tag.

創建action類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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;
  }
}

創建視圖
下列 helloWorld.jsp 展示使用generator 標記:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<%@ 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>

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

配置文件
struts.xml 應該像這樣:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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 應該像這樣:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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 創建一個WAR文件。然后部署此WAR在Tomcat的webapps目錄下。最后,啟動Tomcat服務器和嘗試訪問URL http://localhost:8080/HelloWorldStruts2/hello.action。這會給出以下畫面:

Java的Struts框架中append標簽與generator標簽的使用

延伸 · 閱讀

精彩推薦
  • JAVA教程java實現冒泡排序算法

    java實現冒泡排序算法

    冒泡排序(Bubble Sort)是一種簡單的排序算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工...

    hebedich2992019-12-15
  • JAVA教程Java調用Shell命令的方法

    Java調用Shell命令的方法

    這篇文章主要介紹了Java調用Shell命令的方法,實例分析了java調用shell命令的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下 ...

    fzhlee3292019-12-28
  • JAVA教程淺談Java多進程程序的運行模式

    淺談Java多進程程序的運行模式

    這篇文章主要介紹了淺談Java多進程程序的運行模式,包括對進程阻塞問題的討論等,需要的朋友可以參考下 ...

    wbw19851572020-01-15
  • JAVA教程深度剖析java動態靜態代理原理源碼

    深度剖析java動態靜態代理原理源碼

    這篇文章主要介紹了深度剖析java動態靜態代理原理源碼,關于Java中的動態代理,我們首先需要了解的是一種常用的設計模式--代理模式,而對于代理,根據...

    chen_hao4832019-07-04
  • JAVA教程java中for循環刪除集合陷阱

    java中for循環刪除集合陷阱

    java中在增強for循環為什么不能增刪集合呢?一個循環迭代,跟集合的增刪改沒什么關系。修改集合不是for去做的。for只管循環迭代,你在循環里邊修改集合...

    hebedich4622019-12-17
  • JAVA教程Java(基于Struts2) 分頁實現代碼

    Java(基于Struts2) 分頁實現代碼

    這篇文章介紹了Java(基于Struts2) 分頁實現代碼,有需要的朋友可以參考一下 ...

    java代碼網4682019-10-15
  • JAVA教程java synchronized關鍵字的用法

    java synchronized關鍵字的用法

    synchronized關鍵字我們大家都知道是線程同步關鍵字.總結一下日常的使用方法,還有一個坑. ...

    wulei2652020-04-24
  • JAVA教程使用Java編寫GUI對話框的教程

    使用Java編寫GUI對話框的教程

    這篇文章主要介紹了使用Java編寫GUI對話框的教程,是Java圖形化編程中的基礎知識,需要的朋友可以參考下 ...

    goldensun5162020-01-08
主站蜘蛛池模板: 亚洲网站在线观看 | 免费欧美 | 欧美成人激情视频 | 综合久 | 久久精品久久久久久 | 免费观看黄色大片 | 中文字幕在线电影观看 | 国产精品久久久久久久一区探花 | 黄色网页在线观看 | 成av在线| 国产亚洲一区二区三区 | 亚洲香蕉视频 | 波多野结衣中文字幕一区二区三区 | 午夜午夜精品一区二区三区文 | 国产精品自拍在线观看 | 欧美在线 | 春色导航 | 中文字幕一区二区三区四区五区 | 性做久久久久久久免费看 | 亚洲精品久久久久久一区二区 | 亚洲天堂一区二区 | 蜜桃av一区 | 欧美日韩三级在线 | 亚洲成人一区二区三区四区 | 国产精品18久久久 | 一区二区在线视频 | 国产精品2 | 免费在线观看一区二区 | 久久精品亚洲精品 | 国产欧美日韩精品一区 | 国产免费一级特黄录像 | 中文字幕日韩在线 | 国产艹| 婷婷激情五月 | 久久久性色精品国产免费观看 | 日韩欧美精品在线 | 欧美日韩久久久久 | 人一级毛片 | 亚洲男人的天堂视频 | 中文字幕成人在线 | 国产成人精品久久二区二区 |