`

Struts2 一些常见的标签的使用

 
阅读更多

直接贴后台代码:

package com.struts2.action;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.struts2.localeutil.LocaleUtil;
import com.struts2.model.User;
import com.sun.org.apache.xml.internal.utils.LocaleUtility;
public class UserAction  extends ActionSupport{
	
	private static final long serialVersionUID = -1905893698092880349L;
	private final Map<String,Locale> localMap = new HashMap<String, Locale>();

	private String id;
	private String username;
	private String password;
	private String language;
	private Map<String, Locale> langugeMap;
	
	public UserAction(){
		this.langugeMap = new HashMap<String, Locale>();
		this.setLangugeMap(getcurrLocalMapMethod());
	}
	public Map<String, Locale> getLangugeMap() {
		return langugeMap;
	}
	public void setLangugeMap(Map<String, Locale> langugeMap) {
		this.langugeMap = langugeMap;
	}
	
	public String getLanguage() {
		return language;
	}
	public void setLanguage(String language) {
		this.language = language;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
	public Map<String,Locale> getcurrLocalMapMethod(){
		localMap.put("简体中文", Locale.CHINA);
		localMap.put("English", Locale.ENGLISH);
		localMap.put("繁体中文", Locale.TAIWAN);
		localMap.put("日本の言語",Locale.JAPAN);
		localMap.put("Americanese English", Locale.US);
		return localMap;
	}
	
	/**
	 * 登陆方法;
	 * @return String;
	 */
	@SuppressWarnings("unchecked")
	public String login(){
		this.id = "1001";
		
		//判断;
		if(this.username.equals("zhouhaitao") && this.password.equals("123456")){
			//ActionContext.getContext.相当于request.setAttribuet()一样;
			ActionContext.getContext().put("id",id);
			
			//保存到session当中;
			ActionContext.getContext().getSession().put("name", this.username+"登陆成功!");
			return "yes";
		}else{
			return "no";
		}
	}
	
	/**
	 * 注册方法;
	 */
	public String regester(){
		System.out.println("调用注册的方法.开始注册!");
		System.out.println(this.id);
		System.out.println(this.username);
		System.out.println(this.password);
		ActionContext.getContext().put("name",this.username+"注册成功!");
		return "yes";
	}
	
	/**
	 * 获取选择的语言;
	 * @return
	 */
	public String getSelectLanguge(){
		System.out.println("获取的语言是:"+this.language);
		
		String[] str= this.language.split("_");
		Locale locale2 = null;
		Locale locale1 = null;
		
		
		if(str.length>2){
			locale1 = LocaleUtility.langToLocale(this.language.split("_")[1]);
			locale2 = LocaleUtil.toLocale(this.language.split("_")[1]);
		}else{
			locale1 = LocaleUtility.langToLocale(this.language.split("_")[0]);
			locale2 = LocaleUtil.toLocale(this.language.split("_")[0]);
		}
		System.out.println("1通过转换后的语言是:"+locale1.getLanguage());
		System.out.println("2通过转换后的语言是:"+locale2.getLanguage());
		
		return "index";
	}
}

 

   DemoAction :

   

package com.struts2.action;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.struts2.model.User;

public class DemoAction extends ActionSupport{

	private static final long serialVersionUID = 6021481463050081906L;
	private List<String> stuList;
	private List<User> userList;
	private Map<String, User> userMap;
	private int sid;
	private String sname;
	private String address;
	
	@SuppressWarnings("unchecked")
	public String displayStudentList(){
		stuList = new ArrayList<String>();
		stuList.add("ZhouHaiTao");
		stuList.add("LiuJing");
		stuList.add("ZengPing");
		stuList.add("ZhangSan");
		ServletActionContext.getContext().getSession().put("stuList", stuList);
		ServletActionContext.getContext().put("selectFruit", sname);
		return "display";
	}
	
	public String onClickUrl(){
		ServletActionContext.getContext().put("urlMsg", "你单击了超链接,提交至Action中!");
		return "display";
	}
	
	
	public List<User> getUserList() {
		return userList;
	}


	public void setUserList(List<User> userList) {
		this.userList = userList;
	}


	public Map<String, User> getUserMap() {
		return userMap;
	}


	public void setUserMap(Map<String, User> userMap) {
		this.userMap = userMap;
	}


	public List<String> getStuList() {
		return stuList;
	}
	public void setStuList(List<String> stuList) {
		this.stuList = stuList;
	}
	public int getSid() {
		return sid;
	}
	public void setSid(int sid) {
		this.sid = sid;
	}
	public String getSname() {
		return sname;
	}
	public void setSname(String sname) {
		this.sname = sname;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	
	
}

 

    

 

直接贴前台代码:

 

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Struts2标签使用</title>
	<script type="text/javascript">
		function commitToDemoAction(){
			document.getElementById("myform").action="demo!displayStudentList.action";
		}
	</script>
</head>
<body>
	<center>
		<h1>Struts2 标签使用大全</h1>
	</center>
		
	<s:form id="myform" name="myform" method="post" theme="simple">
		<b>标签一(s:submit的标签使用)</b><br/>
		<s:submit id="bid" onclick="commitToDemoAction()" value="提交到Action中获取数据" cssStyle="border:1px solid blue"/><br/><br/>
		
		<b>标签二(s:iterator的标签使用)</b><br/>
		显示结果如下:
		<br/>
		<s:iterator id="stuid" status="sta" value="stuList">
			${stuid }&nbsp;&nbsp;
		</s:iterator>
		
		<br/><br/>
		<b>标签三(s:if..s:else的标签使用)</b><br/>
		<s:if test="sid == 10">
			sid等于10
		</s:if>
		<s:else>
			sid不等于10
		</s:else>
		
		<br/><br/>
		<b>标签四(s:a的标签使用)</b><br/>
		<s:a id="sid" cssStyle="color:blue" label="超链接" value="100" href="/Struts2/demo/demo!onClickUrl.action">Struts2超级接的使用</s:a>
		<font color="red">${request.urlMsg }</font>
		
		<br/><br/>
		<b>标签五(s:bean的标签使用)直接取得后台User对象的值</b><br/>
		<s:bean name="com.struts2.model.User" id="sbean" />
		<table id="tid" border="1px" style="color:blue;width:400px" cellpadding="0px" cellspacing="0px">
			<tr>
				<td>${sbean.userId } </td>
				<td>${sbean.userName }</td>
				<td>${sbean.userAge }</td>
				<td>${sbean.userAddress }</td>
			</tr>
		</table> 
		
		<br/><br/>
		<b>标签六(s:checkbox的标签使用)struts2的checkbox标签在使用的时候需要注意它的两个属性。value和fieldValue,在其他的标签中value是真实值。而在checkbox中,value如果为true,就表示复选框被选中;如果为false就表示不被选中。fieldValue才是此复选框对应的真实的值</b><br/>
		苹果:<s:checkbox fieldValue="苹果"  value="false"  name="sname"/>
		鸭梨:<s:checkbox fieldValue="鸭梨" value="false"   name="sname"/>
		香蕉: <s:checkbox fieldValue="香蕉" value="false"  name="sname"/>
		葡萄: <s:checkbox fieldValue="葡萄" value="true"   name="sname"/>
		<br/>
		你选择的水果是: <font color="red">${request.selectFruit }</font>
	</s:form>
	
</body>
</html>

 

Struts2.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>
	
	<!-- 可以引用其他的配置文件 -->
	<include file="struts-default.xml"></include>
		
	<!-- name代表包的名称 extends代表引用其他的默认文件,namespace代表命名空间,可选-->
	<package name="com.struts2.action" extends="struts-default">
		<!-- 公用的结果 -->
		<global-results>
			<result name="index">/index.jsp</result>
		</global-results>
		
		<!-- name 代表action名称,与struts1的path类似 -->
		<action name="user" class="com.struts2.action.UserAction">
			<result name="yes" type="dispatcher">success.jsp</result>
			<result name="no" type="redirect">failure.jsp</result>
		</action>
		
		<action name="demo" class="com.struts2.action.DemoAction">
			<result name="display" type="dispatcher">/demo/displayData.jsp</result>
		</action>
	</package>
</struts>

 

分享到:
评论

相关推荐

    struts2标签使用例子

    在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。

    struts2标签库例子

    下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来控制页面的执行过程,并从 Action 或值堆栈中取得数据。这些标签可以分为控制标签、数据标签和其他标签。 控制标签用来控制程序的执行,...

    Struts2标签使用及API文档

    `struts2标签用法.doc`和`标签详解`文件可能包含更深入的标签用法和实例,例如如何使用`s:form`创建表单,如何利用`s:action`执行Action,以及如何使用`s:debug`标签进行调试等。 5. **Struts2标签的高级用法** -...

    Struts2源码和标签使用和配置

    总的来说,这个教程应该会涵盖Struts2的基本概念、配置方式、标签的使用技巧,以及EXT3.0在前端展示中的应用,旨在帮助开发者快速掌握Struts2框架,并能有效利用其特性构建高效的企业级应用。通过学习和实践,你可以...

    基于struts2 自定义标签 分页

    在这个基于Struts2的自定义分页标签的实践中,我们将深入探讨如何创建、配置和使用自定义标签来实现数据的分页展示,同时与Oracle数据库进行交互。 首先,理解分页的基本概念至关重要。分页是将大量数据分成小块,...

    Struts2自定义分页标签

    本资源详细介绍了如何在Struts2中自定义分页标签,使得开发过程更加便捷。 在Struts2中,分页通常涉及到以下几个关键步骤: 1. **创建Action类**:首先,你需要创建一个Action类,该类将处理用户的请求,包括获取...

    struts2标签使用方法

    Struts2 标签使用方法 Struts2 标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,Struts2 的主题、模板都提供了很好的扩展性。Struts2 允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂...

    Struts2表单标签使用范例

    本示例将深入探讨Struts2的表单标签使用方法,帮助开发者更好地理解和应用这些标签。 首先,我们来了解一些基本概念。在Struts2中,表单标签通常与Action类中的属性相对应,用于在JSP页面上创建HTML表单元素。例如...

    struts2 自定义标签

    在Struts2中,自定义标签是提高代码可读性和可维护性的重要工具。本文将深入探讨Struts2自定义标签的实现机制、优点以及如何在实际项目中进行应用。 一、Struts2自定义标签的概念 自定义标签是JSP的一种扩展,允许...

    使用Struts 2标签的注意事项

    然而,在使用Struts 2标签时,需要注意一些重要的事项。 首先,在使用Struts 2标签之前,需要在web.xml文件中配置Struts 2的核心Filter。这是因为Struts 2的核心Filter是Struts 2框架的入口点,负责处理所有的请求...

    struts2 标签库使用文档

    Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成...

    Struts标签库 Struts 标签库

    下面将详细阐述Struts2标签库的使用、功能和优势。 1. **Struts2标签库介绍** Struts2框架中的标签库是基于JSP标准标签库(JSTL)的扩展,它提供了一系列与动作、结果、表单和国际化相关的标签。这些标签能够帮助...

    Struts2常用标签

    本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先,我们要明白Struts2标签库与Struts1.x的不同之处。在Struts1.x中,标签库按照功能划分为HTML、Tiles、Logic和Bean等几个...

    struts2 表单标签的使用

    这篇博客将深入探讨Struts2中的表单标签及其使用方法。 首先,我们需要理解Struts2表单标签的基本结构。通常,一个表单标签以`&lt;s:form&gt;`开头,并以`&lt;/s:form&gt;`结束。它允许我们指定表单的属性,如`action`(表单...

    Struts2 标签使用简介

    除了预定义的标签外,Struts2还允许开发者自定义标签,这需要创建一个继承自`org.apache.struts2.views.jsp.TagSupport`的Java类,并在JSP页面中使用`&lt;s:tag&gt;`进行调用。 五、标签库的扩展性 Struts2的标签库不仅...

    struts2标签库及国际化的使用例子

    Struts2 标签库及国际化的使用案例 Struts2 框架提供了强大的标签库和国际化功能,本实验旨在掌握 Struts 2 标签库和国际化功能的使用,并实现用户注册页面的国际化显示。 一、Struts2 标签库 Struts2 框架提供了...

    struts2标签库struts2标签库struts2标签库

    在Struts2标签库中,还有许多其他的标签,如、、等,每个标签都有其特定的使用场景和应用。 Struts2标签库提供了一系列的标签,帮助开发者快速构建Web应用程序,并提高了开发效率。但是,为了充分发挥Struts2标签库...

    struts标签 struts标签 struts标签

    Struts标签库提供了一组预定义的JSP标签,这些标签有助于开发者更有效地处理常见的Web开发任务,如表单处理、数据展示、逻辑控制等。在本文中,我们将深入探讨其中的Bean Tags、HTML Tags和Logic Tags。 1. **Bean ...

Global site tag (gtag.js) - Google Analytics