国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

簡單說明Java的Struts框架中merge標簽的使用方法

2019-11-26 14:47:28
字體:
來源:轉載
供稿:網(wǎng)友

merge標簽合并標記需要兩個或兩個以上的列表作為參數(shù),并把它們合并在一起,如下所示:

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

如果有兩個列表A和B的值,A1,A2和B1,B2。合并列表,會給出A1,B1,A2,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; }}

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

創(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:merge id="allemployees">   <s:param value="employees" />   <s:param value="contractors" />  </s:merge>  <s:iterator value="allemployees">   <s:property value="name"/>,   <s:property value="department"/><br/>  </s:iterator></body></html>

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

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

<?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中,應該像這樣:

<?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服務器和嘗試訪問URL http://localhost:8080/HelloWorldStruts2/employee.action。這會給出以下畫面:

201512484907744.jpg (560×264)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 兴城市| 禹州市| 万安县| 阜新市| 疏附县| 丰都县| 景宁| 轮台县| 汪清县| 宁阳县| 资中县| 古浪县| 宝山区| 涡阳县| 江西省| 平泉县| 遂昌县| 龙井市| 三明市| 霞浦县| 油尖旺区| 基隆市| 茌平县| 铁岭县| 临桂县| 阳曲县| 福建省| 麻城市| 安国市| 荆州市| 长宁县| 平定县| 福建省| 宜城市| 镇赉县| 琼结县| 永康市| 水富县| 梅河口市| 巫山县| 浪卡子县|