视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Java的Struts框架中append标签与generator标签的使用_MySQL
2020-11-09 20:17:03 责编:小采
文档
 append 标签:
这些append标签需要两个或两个以上的列表作为参数,并追加它们放在一起,如下图所示:


 
 
 


 

如果有两个列表A和B的值A1,A2和B1,B2。合并列表,会给你的A1,A2,B1,B2,而append 名单,会有A1,A2,B1,B2。

创建动作类:
首先,让我们创建一个简单的类叫做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 实现返回true,如果雇员招聘部门工作,否则返回false。

接下来,让我们创建一个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;
 }
}

在上面的例子所示,部门比较的基础上按字母顺序排列的部门员工进行比较。

创建视图
创建一个文件叫做employee.jsp以下内容:

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


Employees


 Employees and Contractors Merged together
 
,

append标签需要两个或两个以上列出作为参数。我们需要给予追加一个id,这样我们就可以重用它。在这个例子中,我们提供了作为参数传递给员工和承包商的附加标签。然后,我们使用“allemployees”ID遍历附加列表和打印员工的细节。

配置文件
struts.xml中应该像这样:

<?xml version="1.0" encoding="UTF-8"?>



 

 
 
 /employee.jsp
 
 



web.xml中,应该像这样:

<?xml version="1.0" encoding="UTF-8"?>

 
 Struts 2
 
 index.jsp
 
 
 struts2
 
 org.apache.struts2.dispatcher.FilterDispatcher
 
 

 
 struts2
 /*
 


右键点击项目名称,并单击Export > WAR File 创建一个WAR文件。然后部署此WAR在Tomcat的webapps目录下。最后,启动Tomcat服务器和尝试访问URL http://localhost:8080/HelloWorldStruts2/employee.action。这会给出以下画面:

generator 标签:
generator标签生成一个迭代器的基础上提供val属性。以下generator标签生成一个迭代器,并使用迭代器标签打印出来。


 
 

我们经常遇到的一些情况,必须创建列表或数组上遍历列表。可以创建列表或数组使用scriptlet或者可以使用generator 标签。 tag.

创建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;
 }
}

创建视图
下列 helloWorld.jsp 展示使用generator 标记:

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


Hello World



Example of Generator Tag

The colours of rainbow:


在这里,我们创建一个generator 标签,我们要求它解析的字符串,其中包含逗号分隔的列表,形成了彩虹的颜色。我们告诉发电机标签,分隔符是“,”我们希望所有七个值在列表中。如果我们只关心前三个值,然后我们会设置计数至3。发电机标记在体内,我们使用了迭代器去通过由generator 标记创建的值的打印属性的值。

配置文件
struts.xml 应该像这样:

<?xml version="1.0" encoding="UTF-8"?>



 
 
 
 /HelloWorld.jsp
 

 


web.xml 应该像这样:

<?xml version="1.0" encoding="UTF-8"?>

 
 Struts 2
 
 index.jsp
 
 
 struts2
 
 org.apache.struts2.dispatcher.FilterDispatcher
 
 

 
 struts2
 /*
 


右键点击项目名称,并单击Export > WAR File 创建一个WAR文件。然后部署此WAR在Tomcat的webapps目录下。最后,启动Tomcat服务器和尝试访问URL http://localhost:8080/HelloWorldStruts2/hello.action。这会给出以下画面:

下载本文
显示全文
专题