strust2入门

故事扮演 提交于 2020-01-03 21:26:37

代码仓库:https://gitee.com/DerekAndroid/strutsOne.git

参考教程:https://www.w3cschool.cn/struts_2/struts_examples.html

效果:

index.jsp 

<%--
  Created by IntelliJ IDEA.
  User: agen
  Date: 2019/12/29
  Time: 15:21
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
<h1>Hello World From Struts2</h1>

<%--Actions是Struts2框架的核心,每个URL映射到特定的action--%>
<form action="hello">
    <label for="name">Please enter your name</label><br/>
    <input type="text" name="name" id="name" placeholder="输入error跳转到error.jsp页面"/>
    <input type="submit" value="Say Hello"/>
</form>

<form action="one">
    <input type="submit" value="直接跳转到one.jsp"/>
</form>

<%--拦截器+--%>
<%--拦截器在概念上与servlet过滤器或JDK代理类相同。拦截器允许横切功能,把action以及框架分开实现。--%>
<form action="interceptor">
  <label for="name">Please enter your name</label><br/>
  <input type="text" name="name" />
  <input type="submit" value="拦截器"/>
</form>

<%--结果类型Result:Redirect Action示例--%>
<form action="redirect">
  <input type="submit" value="结果类型:Redirect Action示例"/>
</form>

<%--验证框架--%>
<%--Struts的核心中的验证框架,可在执行action方法之前,帮助应用程序运行规则执行验证--%>
<div>验证框架</div>
<s:form action="empinfo" method="post">
  <s:textfield name="name" label="Name" size="20" />
  <s:textfield name="age" label="Age" size="20" />
  <s:submit name="submit" label="Submit" align="center" />
</s:form>

<%--Struts2 应用程序可以使用Java5注解来替代XML和Java属性的配置--%>
<div>Struts2注解</div>
<s:form action="empinfotwo" method="post">
    <s:textfield name="name" label="Name" size="20" />
    <s:textfield name="age" label="Age" size="20" />
    <s:submit name="submit" label="Submit" align="center" />
</s:form>
</body>

HelloWorld.jsp

<%--
  Created by IntelliJ IDEA.
  User: agen
  Date: 2019/12/29
  Time: 15:28
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
Hello World,<s:property value="name"/>
</body>
</html>

struts.xml 

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

<!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.devMode" value="true" />
    <package name="helloworld" extends="struts-default">

<!--        直接跳转jsp页面-->
        <action name="one">
            <result>/one.jsp</result>
        </action>

        <action name="redirect">
            <result name="success" type="redirect">
                <param name="location">
                    /one.jsp
                </param >
            </result>
        </action>

        <action name="hello"
                class="strust.HelloWorldAction"
                method="execute">
            <result name="success">/HelloWorld.jsp</result>
            <result name="error">/error.jsp</result>
        </action>

        <action name="interceptor"
                class="strust.InterceptorOne"
                method="execute">
            <interceptor-ref name="params"/>
            <interceptor-ref name="timer" />
            <result name="success">/HelloWorld.jsp</result>
        </action>

        <action name="empinfo"
                class="strust.Employee"
                method="execute">
            <result name="input">/index.jsp</result>
            <result name="success">/success.jsp</result>
        </action>
    </package>
</struts>

web.xml 

<?xml version="1.0" encoding="UTF-8"?>
<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_4_0.xsd"
         version="4.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>
        <init-param>
            <param-name>struts.devMode</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!