Action 的实现方式

Action 的实现方式,第1张

概述1、在Struts2中有三种方式可以创建action处理类     (1) 通过实现Action接口来创建action的处理类(好处:使得我们编写的代码更加规范)     ①新建Struts2项目,手动导入jar包(放到WEB-INF/lib目录下),配置struts.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PU 1、在Struts2中有三种方式可以创建action处理类

 

  (1) 通过实现Action接口来创建action的处理类(好处:使得我们编写的代码更加规范)

 

  ①新建Struts2项目,手动导入jar包(放到WEB-INF/lib目录下),配置struts.xml

<?xml version="1.0" enCoding="UTF-8"?><!DOCTYPE struts PUBliC        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"        "http://struts.apache.org/dtds/struts-2.5.dtd"><struts>    <package name="default" namespace="/" extends="struts-default">        <action name="hello" class="cn.ht.action.HelloAction">            <result>/index.Jsp</result>        </action>    </package></struts>

  ②配置web.xml(IDEA自动生成)

<?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">    <filter>        <filter-name>struts2</filter-name>        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>    </filter>    <filter-mapPing>        <filter-name>struts2</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapPing></web-app>

  ③index.Jsp

<%@ page ContentType="text/HTML;charset=UTF-8" language="java" %><HTML>  <head>    <Title>Action</Title>  </head>  <body>  action execute  </body></HTML>

  ④ 在src下创建HelloAction.java

package cn.ht.action;import com.opensymphony.xwork2.Action;//  通过实现Action接口来创建处理类//   好处: 实现Action接口的方式可以直接使用action提供的常量//          必须重写默认处理方法//  这种方法用的较少public class HelloAction implements Action {    @OverrIDe    public String execute() throws Exception {        System.out.println("action的处理类被执行");        return SUCCESS;    }}

  ⑤访问

  (2)通过继承ActionSupport类来创建Action的处理类,struts2推荐使用这种方式(好处:可以继承一些 ActionSuport 实现功能,如:验证;官方推荐使用)

  Hello1Action.java
package cn.ht.action;import com.opensymphony.xwork2.ActionSupport;/** * ActionSupport实现了Action接口 * 并且ActionSupport类提供了很多其他struts2提供的功能 * 比如:数据校验、国际化 * 创建后就有默认实现 */public class Hello1Action extends ActionSupport {}

  struts.xml(添加黑色部分)

<?xml version="1.0" enCoding="UTF-8"?><!DOCTYPE struts PUBliC        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"        "http://struts.apache.org/dtds/struts-2.5.dtd"><struts>    <package name="default" namespace="/" extends="struts-default">        <action name="hello" class="cn.ht.action.HelloAction">            <result>/index.Jsp</result>        </action>        <action name="hello1" > <result>/HelloAction.Jsp</result> </action>    </package></struts>
  HelloAction.Jsp
<%@ page ContentType="text/HTML;charset=UTF-8" language="java" %><HTML><head>    <Title>HelloAction</Title></head><body><h1>HelloAction</h1></body></HTML>

  访问

  (3)无侵入性的实现 (好处:自定义一个普通的 java 类即可,不具有侵入型)

  Hello2Action.java
package cn.ht.action;/** * 无侵入性的实现 */public class Hello2Action {    public String execute(){        System.out.println("无侵入性的实现");        return "success";    }}

  struts.xml

<?xml version="1.0" enCoding="UTF-8"?><!DOCTYPE struts PUBliC        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"        "http://struts.apache.org/dtds/struts-2.5.dtd"><struts>    <package name="default" namespace="/" extends="struts-default">        <action name="hello" class="cn.ht.action.HelloAction">            <result>/index.Jsp</result>        </action>        <action name="hello1" class="cn.ht.action.Hello1Action">            <result>/HelloAction.Jsp</result>        </action>        <action name="hello2" class="cn.ht.action.Hello2Action">            <result>/Hello2Action.Jsp</result>        </action>    </package></struts>

  Hello2Action.Jsp

<%--  Created by IntelliJ IDEA.  User: administrator  Date: 2019-8-13  Time: 16:14  To change this template use file | Settings | file Templates.--%><%@ page ContentType="text/HTML;charset=UTF-8" language="java" %><HTML><head>    <Title>Hello2Action</Title></head><body><h1>无侵入性的实现</h1></body></HTML>

  访问

总结

以上是内存溢出为你收集整理的Action 的实现方式全部内容,希望文章能够帮你解决Action 的实现方式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1038428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存