美文网首页
基于Struts2的第一个web应用

基于Struts2的第一个web应用

作者: exmexm | 来源:发表于2017-06-27 21:20 被阅读0次

    主要写一个页面,访问时显HelloWorld、

    1、新建一个类

    类名HelloWorldAcion
    具体如下:

    package cn.itcast.action;
    
    public class HelloWorldAction {
        private String message;
        
        public String getMessage() {
            return message;
        }
    
        public String execute() {
            message = "Hello World";
            return "success";
        }
    }
    
    

    个人理解:针对配置文件,当请求http://localhost:8080/Strut2Test/test/helloworld该url时,会调用该类里面的execute方法,且该execute方法只能是返回String。

    2、新建view页面,即hello.jsp
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!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>第一个Struts小应用</title>
    </head>
    <body>
    ${message}
    </body>
    </html>
    

    个人理解:
    在jsp文件使用el表达式${message},是通过反射机制调用了HelloWorldAction的getMessage()方法。message是属性~

    3、配置struts.xlm
    <package name="itcast" namespace="/test" extends="struts-default">
            <action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="execute">
                <result name="success">/WEB-INF/page/hello.jsp</result>
            </action>
        </package>
    

    struts.xlm配置中的包介绍

    在Struts2框架中使用包来管理Action,包的作用和java中的类包是非常相似的,它用于管理一组业务功能相关的action。在实际应用中,要把一组业务功能相关的Action放在同一个包下。

    配置包时必须指定name属性,该name属性值可以任意取名,但必须是唯一,他不对应java的类包,如果其他包要继承该包,必须通过该属性进行引用。包的namespace属性用于定义该包的命名空间,命名空间作为访问该包下Action的路径的一部分,如访问上述例子的Action,访问路径为:/test/helloworld.action(http://localhost:8080/Strut2Test/test/helloworld
    namespace属性可以不配置,对本例而言,如果不指定该属性,则默认的命名空间为“”空字符串。(http://localhost:8080/Strut2Test/helloworld

    通常每个包都应该继承struts-default包,因为Struts2很多核心的功能都是通过拦截器来实现的。如:从请求中把请求参数封装到action、文件上传和数据验证等等都是通过拦截器实现的。struts-default定义了这些拦截器和Result类型。可以这么说:当包继承struts-default包才可以使用Struts2的黑心功能。struts-default.xml也是Struts2默认的配置文件。Struts2每次都会自动加载struts-default.xml文件。

    包还可以通过abstract=“true”定义为抽象包,抽象包中不包含action。

    相关文章

      网友评论

          本文标题:基于Struts2的第一个web应用

          本文链接:https://www.haomeiwen.com/subject/nkxycxtx.html