zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:使用Struts2的标签库--数据标签

    <?xml version="1.0" encoding="GBK"?>
    <project name="struts" basedir="." default="">
        <property name="dist" value="classes"/>
        <property name="src" value="src"/>
        
        <path id="classpath">
            <fileset dir="lib">
                <include name="*.jar"/>
            </fileset>
            <pathelement path="${dist}"/>
        </path>
    
        <target name="compile" description="Compile all source code">
            <delete dir="${dist}"/>
            <mkdir dir="${dist}"/>
            <copy todir="${dist}">
                <fileset dir="${src}">
                    <exclude name="**/*.java"/>
                </fileset>        
            </copy>
            <javac destdir="classes" debug="true" includeantruntime="yes"
                deprecation="false" optimize="false" failonerror="true">
                <src path="${src}"/>
                <classpath refid="classpath"/>
            </javac>
        </target>
    
    </project>
    <?xml version="1.0" encoding="GBK"?>
    
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
        http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
    
        <!-- 定义Struts 2的核心Filter -->
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
        <!-- 让Struts 2的核心Filter拦截所有请求 -->
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
    </web-app>
    <?xml version="1.0" encoding="GBK"?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    <struts>
        <constant name="struts.i18n.encoding" value="GBK"/>
    
        <package name="lee" extends="struts-default">
            <!-- 定义第一个Action,使用TagAction的
                execute方法作为控制处理逻辑 -->
            <action name="tag1" class="org.crazyit.app.action.TagAction">
                <result name="done">/WEB-INF/content/succ.jsp</result>
            </action>
            <!-- 定义第二个Action,使用TagAction的
                login方法作为控制处理逻辑 -->
            <action name="tag2" class="org.crazyit.app.action.TagAction"
                method="login">
                <result name="done">/WEB-INF/content/loginSucc.jsp</result>
            </action>
            <action name="*">
                <result>/WEB-INF/content/{1}.jsp</result>
            </action>
        </package>
    </struts>
    <%--
    网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
    author  yeeku.H.lee kongyeeku@163.com
    version  1.0
    Copyright (C), 2001-2016, yeeku.H.Lee
    This program is protected by copyright laws.
    Program Name:
    Date: 
    --%>
    
    <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>被包含的页面</title>
    </head>
    <body>
    <h3>被包含的页面</h3>
    author参数值为:${param.author}
    </body>
    </html>
    <%--
     * @author  yeeku.H.lee kongyeeku@163.com
     * @version  1.0
     * <br/>Copyright (C), 2005-2008, yeeku.H.Lee
     * <br/>This program is protected by copyright laws.
     * <br/>Program Name:
     * <br/>Date: 
    --%>
    <%@ page contentType="text/html; charset=GBK" language="java"%>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
    <title>s:action的成功页面</title>
    </head>
    <body>
    <br/>
    <s:property value="author"/>,登录成功!!
    </body>
    </html>
    <%--
    网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
    author  yeeku.H.lee kongyeeku@163.com
    version  1.0
    Copyright (C), 2001-2016, yeeku.H.Lee
    This program is protected by copyright laws.
    Program Name:
    Date: 
    --%>
    
    <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>使用s:action标签在页面中调用Action</title>
    </head>
    <body>
    下面调用第一个Action,并将结果包含到本页面中。<br/>
    <s:action name="tag1" executeResult="true"/>
    <hr/>
    下面调用第二个Action,并将结果包含到本页面中。<br/>
    但阻止本页面请求参数传入Action。<br/>
    <s:action name="tag2" executeResult="true"
        ignoreContextParams="true"/>
    <hr/>
    下面调用第三个Action,且并不将结果包含到本页面中。<br/>
    <s:action name="tag2" executeResult="false"/>
    本页面是否可访问?<s:property value="author"/>
    </body>
    </html>
    <%--
    网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
    author  yeeku.H.lee kongyeeku@163.com
    version  1.0
    Copyright (C), 2001-2016, yeeku.H.Lee
    This program is protected by copyright laws.
    Program Name:
    Date: 
    --%>
    
    <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>使用s:bean标签创建JavaBean的实例</title>
    </head>
    <body>
    <!-- 使用bean标签创建一个Person类的实例 -->
    <s:bean name="org.crazyit.app.dto.Person">
        <!-- 使用param标签为Person类的实例传入参数 -->
        <s:param name="name" value="'yeeku'"/>
        <s:param name="age" value="29"/>
        <!-- 因为在bean标签内,Person实例位于ValueStack的栈顶,
            故可以直接访问lee.Person实例 -->
        Person实例的name为:<s:property value="name"/><br/>
        Person实例的age为:<s:property value="age"/>
    </s:bean>
    </body>
    </html>
    <%--
    网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
    author  yeeku.H.lee kongyeeku@163.com
    version  1.0
    Copyright (C), 2001-2016, yeeku.H.Lee
    This program is protected by copyright laws.
    Program Name:
    Date: 
    --%>
    
    <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>使用s:bean标签创建JavaBean的实例</title>
    </head>
    <body>
    <!-- 使用bean标签创建一个Person类的实例,为其指定了var属性 -->
    <s:bean name="org.crazyit.app.dto.Person" var="p">
        <!-- 使用param标签为Person类的实例传入参数 -->
        <s:param name="name" value="'yeeku'"/>
        <s:param name="age" value="29"/>
    </s:bean>
    <!-- 根据JavaBean实例指定的var属性来访问JavaBean实例 -->
    Person实例的name为:<s:property value="#p.name"/><br/>
    Person实例的age为:<s:property value="#p.age"/><br/>
    ${requestScope.p}
    </body>
    </html>
    <%--
    网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
    author  yeeku.H.lee kongyeeku@163.com
    version  1.0
    Copyright (C), 2001-2016, yeeku.H.Lee
    This program is protected by copyright laws.
    Program Name:
    Date: 
    --%>
    
    <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>使用s:date标签格式化日期</title>
    </head>
    <body>
    <s:bean var="now" name="java.util.Date"/>
    nice="false",且指定format="dd/MM/yyyy"<br/>
    <s:date name="#now" format="dd/MM/yyyy" nice="false"/><hr/>
    nice="true",且指定format="dd/MM/yyyy"<br/>
    <s:date name="#now" format="dd/MM/yyyy" nice="true"/><hr/>
    指定nice="true"<br/>
    <s:date name="#now" nice="true" /><hr/>
    nice="false",且没有指定format属性<br/>
    <s:date name="#now" nice="false"/><hr/>
    nice="false",没有指定format属性,指定了var<br/>
    <s:date name="#now" nice="false" var="abc"/><hr/>
    ${requestScope.abc} <s:property value="#abc"/>
    </body>
    </html>
    <%--
     * @author  yeeku.H.lee kongyeeku@163.com
     * @version  1.0
     * <br/>Copyright (C), 2005-2008, yeeku.H.Lee
     * <br/>This program is protected by copyright laws.
     * <br/>Program Name:
     * <br/>Date: 
    --%>
    <%@ page contentType="text/html; charset=GBK" language="java"%>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
    <title>使用s:bean标签创建JavaBean的实例</title>
    </head>
    <body>
    <s:bean name="lee.Person" id="p">
        <s:param name="name" value="'yeeku'"/>
        <s:param name="age" value="29"/>
    </s:bean>
    <s:property value="#p.name"/><br/>
    <s:property value="#p.age"/>
    <s:debug/>
    </body>
    </html>
    <%--
    网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
    author  yeeku.H.lee kongyeeku@163.com
    version  1.0
    Copyright (C), 2001-2016, yeeku.H.Lee
    This program is protected by copyright laws.
    Program Name:
    Date: 
    --%>
    
    <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>使用s:include标签来包含目标页面</title>
    </head>
    <body>
    <h2>使用s:include标签来包含目标页面</h2>
    <!-- 使用include标签来包含其他页面 -->
    <s:include value="included-file.jsp"/>
    <!-- 使用include标签来包含其他页面,并且传入参数 -->
    <s:include value="included-file.jsp">
        <s:param name="author" value="'yeeku'"/>
    </s:include>
    </body>
    </html>
    <%--
    网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
    author  yeeku.H.lee kongyeeku@163.com
    version  1.0
    Copyright (C), 2001-2016, yeeku.H.Lee
    This program is protected by copyright laws.
    Program Name:
    Date: 
    --%>
    
    <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>使用s:push来将某个值放入ValueStack的栈顶</title>
    </head>
    <body>
    <h2>使用s:push来将某个值放入ValueStack的栈顶</h2>
    <!-- 使用bean标签创建一个JavaBean实例,
        指定var属性,并将其放入Stack Context中 -->
    <s:bean name="org.crazyit.app.dto.Person" var="p">
        <s:param name="name" value="'yeeku'"/>
        <s:param name="age" value="29"/>
    </s:bean>
    <!-- 将Stack Context中的p对象放入ValueStack栈顶-->
    <s:push value="#p">
        <!-- 输出ValueStack栈顶对象的name和age属性 -->
        ValueStack栈顶对象的name属性:<s:property value="name"/><br/>
        ValueStack栈顶对象的age属性:<s:property value="age"/><br/>
    </s:push>
    </body>
    </html>
    <%--
    网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
    author  yeeku.H.lee kongyeeku@163.com
    version  1.0
    Copyright (C), 2001-2016, yeeku.H.Lee
    This program is protected by copyright laws.
    Program Name:
    Date: 
    --%>
    
    <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>使用s:set设置一个新变量</title>
    </head>
    <body>
    <h2>使用s:set设置一个新变量</h2>
    <!-- 使用bean标签定义一个JavaBean实例 -->
    <s:bean name="org.crazyit.app.dto.Person" id="p">
        <s:param name="name" value="'yeeku'"/>
        <s:param name="age" value="29"/>
    </s:bean>
    将Stack Context中的p值放入默认范围(action)内。<br/>
    <s:set value="#p" name="xxx"/>
    Stack Context内xxx对象的name属性:<s:property value="#xxx.name"/><br/>
    Stack Context内xxx对象的age属性:<s:property value="#xxx.age"/><br/>
    request范围的xxx对象的name属性:${requestScope.xxx.name}<br/>
    request范围的xxx对象的age属性:${requestScope.xxx.age}<hr/>
    将Stack Context中的p值放入application范围内。<br/>
    <s:set value="#p" name="yyy" scope="application"/>
    application范围的yyy对象的name属性:${applicationScope.yyy.name}<br/>
    application范围的yyy对象的age属性:${applicationScope.yyy.age}<hr/>
    将Stack Context中的p值放入session范围内。<br/>
    <s:set value="#p" name="zzz" scope="session"/>
    session范围的zzz对象的name属性:${sessionScope.zzz.name}<br/>
    session范围的zzz对象的age属性:${sessionScope.zzz.age}
    </body>
    </html>
    <%--
     * @author  yeeku.H.lee kongyeeku@163.com
     * @version  1.0
     * <br/>Copyright (C), 2005-2008, yeeku.H.Lee
     * <br/>This program is protected by copyright laws.
     * <br/>Program Name:
     * <br/>Date: 
    --%>
    <%@ page contentType="text/html; charset=GBK" language="java"%>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
    <title>s:action的成功页面</title>
    </head>
    <body>
    <br/>
    <s:property value="author"/>,执行成功!!
    </body>
    </html>
    <%--
    网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
    author  yeeku.H.lee kongyeeku@163.com
    version  1.0
    Copyright (C), 2001-2016, yeeku.H.Lee
    This program is protected by copyright laws.
    Program Name:
    Date: 
    --%>
    
    <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>使用s:url来生成一个URL地址</title>
    </head>
    <body>
    <h2>s:url来生成一个URL地址</h2>
    只指定value属性的形式。<br/>
    <s:url value="editGadget.action"/>
    <hr/>
    指定action属性,且使用param传入参数的形式。<br/>
    <s:url action="showBook">
        <s:param name="author" value="'yeeku'" />
    </s:url>
    <hr/>
    既不指定action属性,也不指定value属性,但使用param传入参数的形式。<br/>
    <s:url includeParams="get"  >
        <s:param name="id" value="%{'22'}"/>
    </s:url>
    <hr/>
    同时指定action属性和value属性,且使用param传入参数的形式。<br/>
    <s:url action="showBook" value="xxxx">
        <s:param name="author" value="'yeeku'" />
    </s:url>
    </body>
    </html>
    <?xml version="1.0" encoding="GBK"?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    <struts>
        <constant name="struts.i18n.encoding" value="GBK"/>
    
        <package name="lee" extends="struts-default">
            <!-- 定义第一个Action,使用TagAction的
                execute方法作为控制处理逻辑 -->
            <action name="tag1" class="org.crazyit.app.action.TagAction">
                <result name="done">/WEB-INF/content/succ.jsp</result>
            </action>
            <!-- 定义第二个Action,使用TagAction的
                login方法作为控制处理逻辑 -->
            <action name="tag2" class="org.crazyit.app.action.TagAction"
                method="login">
                <result name="done">/WEB-INF/content/loginSucc.jsp</result>
            </action>
            <action name="*">
                <result>/WEB-INF/content/{1}.jsp</result>
            </action>
        </package>
    </struts>
    package org.crazyit.app.action;
    
    import com.opensymphony.xwork2.ActionSupport;
    import com.opensymphony.xwork2.ActionContext;
    
    /**
     * Description:
     * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
     * <br/>Copyright (C), 2001-2016, Yeeku.H.Lee
     * <br/>This program is protected by copyright laws.
     * <br/>Program Name:
     * <br/>Date:
     * @author  Yeeku.H.Lee kongyeeku@163.com
     * @version  1.0
     */
    public class TagAction extends ActionSupport
    {
        // 封装用户请求参数的author成员变量
        private String author;
    
        // author的setter和getter方法
        public void setAuthor(String author)
        {
            this.author = author;
        }
        public String getAuthor()
        {
            return this.author;
        }
        // 定义第一个处理逻辑
        public String execute() throws Exception
        {
            return "done";
        }
        // 定义第二个处理逻辑
        public String login() throws Exception
        {
            ActionContext.getContext().
                put("author", getAuthor());
            return "done";
        }
    }
    package org.crazyit.app.dto;
    
    /**
     * Description:
     * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
     * <br/>Copyright (C), 2001-2016, Yeeku.H.Lee
     * <br/>This program is protected by copyright laws.
     * <br/>Program Name:
     * <br/>Date:
     * @author  Yeeku.H.Lee kongyeeku@163.com
     * @version  1.0
     */
    public class Person
    {
        private String name;
        private int age;
    
        // name的setter和getter方法
        public void setName(String name)
        {
            this.name = name;
        }
        public String getName()
        {
            return this.name;
        }
    
        // age的setter和getter方法
        public void setAge(int age)
        {
            this.age = age;
        }
        public int getAge()
        {
            return this.age;
        }
    }
  • 相关阅读:
    Palindrome Partitioning
    triangle
    Populating Next Right Pointers in Each Node(I and II)
    分苹果(网易)
    Flatten Binary Tree to Linked List
    Construct Binary Tree from Inorder and Postorder Traversal(根据中序遍历和后序遍历构建二叉树)
    iOS系统navigationBar背景色,文字颜色处理
    登录,注销
    ios 文字上下滚动效果Demo
    经常崩溃就是数组字典引起的
  • 原文地址:https://www.cnblogs.com/tszr/p/12364706.html
Copyright © 2011-2022 走看看