简介 目录 评价 推荐
  • 慕勒1467557 2020-04-11
    1. 添加struts标签库<%@  taglib  prefix="s"  uri="/struts-tags"  %>

    2. 验证表单,input自动返回,validate验证方法

    0赞 · 0采集
  • 慕勒1467557 2020-04-11

    接收参数的3种方式:使用Action的属性接收、使用DomainModel接收(使用一个对象把属性封装起来)、使用ModelDriven接收(需要实现ModelDriven接口,并对对象属性进行实例化)

    0赞 · 0采集
  • 慕勒1467557 2020-04-11

    动态方法调用:实现一个action对应多个请求的处理,避免创建太多的action。有3种方式:指定method属性、感叹号方式(官方不推荐的方式,需要开启常量struts.enable.DynamicMethodInvocation)、通配符方式(官方推荐使用的方式,用到*和{1}进行匹配)

    0赞 · 0采集
  • 慕勒1467557 2020-04-11

    Action搜索顺序:先匹配package的namespace,如果匹配到了,但是没有找到action就报错;如果没匹配到,继续往上一级路径进行匹配,直到默认的namespace。

    0赞 · 0采集
  • 慕勒1467557 2020-04-09

    1.struts.xml下的标签:struts、include(file)、package(name、extends、abstract、namespace:"")、interceptors、interceptor(name、class)、interceptor-stack(name)、interceptor-ref(name)、default-interceptor-ref(name)、global-results、action(name、class:ActionSupport、method调用action的方法名:execute)、default-action-ref(name)、result(name与action的返回值相同:success、type:dispatcher)、param(如果在action中,name对应action中的get/set方法;......)、constant(name、value)、global-exception-mappings、exception-mapping(result、exception)

    注:struts.xml通过constant等同于struts.properties中定义常量,package一般都会继承struts-default

    2.struts.properties中常用的键值:struts.i18n.encoding、struts.i18n.reload、struts.configruation.xml.reload、struts.devMode、struts.serve.static.browserCache、struts.action.extension、struts.url.http.port

    0赞 · 0采集
  • 慕勒1467557 2020-04-09
    1. struts原来的核心过滤器是FilterDispatcher,现在是StrutsPrepareAndExecuteFilter;后者支持在action前添加过滤器

    2. 工作原理:客户的请求HttpServletRequest经过一系列的过滤器,由ActionMapper匹配到以.action为结尾的请求后,过滤器将action转交到ActionProxy,它会通过ConfigurationManager读取struts.xml的配置文件,根据配置文件找到相应的action类,通过ActionProxy创建一个action的反向实例,经过一系列拦截器执行到action,返回字符串对象result,再经过一系列的拦截器通过HttpServletResponse返回给客户。

    0赞 · 0采集
  • 慕勒1467557 2020-04-09
    1. 在web.xml文件中加过滤器filter;filter、filter-name、filter-class、filter-mapping、url-pattern

    2. 在struts.xml中加package,每个package(name、namespace)下可以有多个action(name、class),action下面是有子标签result(name、type)


    0赞 · 0采集
  • 少年枕边的王者梦阿 2020-03-23

    4.创建视图result.jsp:(右键WebContent、JSP File

    截图
    0赞 · 0采集
  • 少年枕边的王者梦阿 2020-03-23

    3.配置strut.xml的映射

    截图
    0赞 · 0采集
  • 少年枕边的王者梦阿 2020-03-23

    2.strut.xml:在Java Resources中的src下右键、other、搜索xml创建,名称为strut.xml,约束用准备好的复制上去

    3.创建action,注意继承项目里的AcitonSupport(通过Browse...搜索

    4.不指定方法名的情况用struts2的默认方法,o/i Methods 中的execute();

    可以在方法中打印一个输出并返回成功的映射(界面)如

    public String execute() throws Exception {

    System. out. println("执行Action");

    return SUCCESS;

    }


    截图
    0赞 · 0采集
  • 少年枕边的王者梦阿 2020-03-23

    注意事项:创建Dynamic web project 记得勾选web.xml

                      把需要用到的包放入WebContent(默认名)WEB-INF中的lib下在项目名(HelloWorld)右键、BuildPath、AddJar

    步骤1.配置web.xml:

    <filter>标签中<filter-name>struts2</filter-name>与

    <filter-mapping>标签中

    <filter-name>struts2</filter- name>

    一致,<filter-class></filter-class>中的内容写好后按下Ctrl + 鼠标左键如果能跳转到Class File Editor页面说明写入正确<url-pattern>/*</ur1- pattern>表示所有路径都需要过滤


    截图
    0赞 · 0采集
  • 程序员慕虎 2019-10-24

    局部结果:将<result>标签作为<action/>元素的子元素来处理。

    全局结果:将<result/>作为<global-result/>元素的子元素的来处理,<global-result/>相当于公共的处理结果集。

    <result>
        <param name="location">/index.jsp</param>
        <param name="parse">true</param>
    </result>

    name属性的location:定义了该视图对应的实际视图资源。

    name属性的parse:是否可以在实际视图名字中使用OGNL表达式,struts默认是true。



    0赞 · 0采集
  • 程序员慕虎 2019-10-24

    1、配置XML

    <action name="login" method="login" class="com.action.LoginAction">
        <result>/index.jsp</result>
        <result name="input">/login.jsp</result>
    </action>

    2、在方法里使用return INPUT 或者重写validate方法

    if(user.getUsername()==null||user.getUsername().equals("")){
        this.addFieldError("username","用户名不能为空");
        return INPUT;
    }
    @Override
    public void validate() {
        if(user.getUsername()==null){
            this.addFieldError("username","用户名不能为空");
        }
    }


    0赞 · 0采集
  • 程序员慕虎 2019-10-24

    处理结果类型

    截图
    0赞 · 0采集
  • 慕少0472972 2019-10-23

    <?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>


    </struts>

    1赞 · 0采集
  • 程序员慕虎 2019-10-22

    struts2接受参数

    1、使用Action的属性接受参数

    action类直接创建对象实现get/set

    2、使用Domain的Model接受参数

    //创建model对象
    private User user;
    //表单name修改
    用户名:<input type="text" name="username">
    密码:<input type="password" name="password">

    3、使用ModelDriven接受参数

    实现ModelDriven<T>接口,指定泛型类型

    //需要实例化
    private User user=new User();
    
    @Override
    public User getModel() {
        return user;
    }

    对于List<String>对象需要

    <input type="text" name="listbook[0]">

    对于List<User>对象需要

    <input type="text" name="listbook[0].username">


    0赞 · 0采集
  • 程序员慕虎 2019-10-22
    //修改.action后缀
    <constant name="struts.action.extension" value="html"></constant>

    默认没有配置后缀,其实不添加.acton后缀也可以访问

    //web.xml也可以配置修改后缀
    <filter>
      <filter-name>struts2</filter-name>
      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
       <init-param>
         <param-name>struts.action.extension</param-name>
         <param-value>do</param-value>
       </init-param>
    </filter>


    0赞 · 0采集
  • 程序员慕虎 2019-10-22

    默认action配置

    注意需要注释掉使用类名通配符的action配置,否则会去匹配类,报错500

    <default-action-ref name="index">
    </default-action-ref>
    
    <action name="index">
        <result>/error.jsp</result>
    </action>


    0赞 · 0采集
  • 程序员慕虎 2019-10-22

    指定配置文件

    <include file="xml"></include>


    0赞 · 0采集
  • 程序员慕虎 2019-10-20

    动态方法调用

    动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多。

    1、指定method属性

    <action name="addaction" method="add" class="com.action.HelloWorldAction">
        <result name="success">/index.jsp</result>
    </action>

    2、感叹号方式

    <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
    //指定方法返回视图
    public String add(){
        return "add";
    }
    //struts配置多个result,指定name对应的
    视图名称
    <result>/index.jsp</result>
    <result name="add">/index.jsp</result>
    <result name="update">/update.jsp</result>

    访问方式:/helloworld!(方法名).action

    3、通配符方式

    <action name="helloworld_*" method="{1}" class="com.action.HelloWorldAction">
        <result>/index.jsp</result>
        <result name="add">/{1}.jsp</result>
        <result name="update">/{1}.jsp</result>
    </action>
    
    <action name="*_*" method="{2}" class="com.action.{1}Action">
        <result>/index.jsp</result>
        <result name="add">/{2}.jsp</result>
        <result name="update">/{2}.jsp</result>
    </action>


    0赞 · 0采集
  • 程序员慕虎 2019-10-20

    Struts2的Action搜索顺序

    localhost:8080/struts/path1/path2/path3/student.action

    第一步:判断package是否存在,如:path1/path2/path3/

    存在package

    第二步:判断action是否存在,不过不存在则去默认namespace的package里寻找action

    第三步:如果没有,则报错

    不存在package

    第二步:检查上一级路径的package是否存在(直到默认namespace),重复第一步

    第三步:如果没有,则报错


    0赞 · 0采集
  • 程序员慕虎 2019-10-20

    1.Struts2访问Servlet API方式

    1、ActionContext

    2、实现Aware接口

    3、ServletActionContext


    0赞 · 0采集
  • 程序员慕虎 2019-10-19

    struts.xml

    struts的核心配置文件,在开发过程中利用率最高。

    该文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等。

    struts.properties

    struts2框架的全局属性文件,自动加载

    该文件包含很多个key-value对

    该文件可以配置在struts.xml文件中,使用constant元素。

    0赞 · 0采集
  • 程序员慕虎 2019-10-19

    从客户端发送请求过来,先经过前端控制器(核心过滤器 StrutsPrepareAndExecuteFilter)过滤器中执行一组拦截器(一组拦截器 就会完成部分功能代码),到底哪些拦截器执行了呢,在Struts2中定义很多拦截器,在其默认栈中的拦截器会得到执行,这个我们可以通过断点调试的方式测试,拦截器执行完成后,就会执行目标Action,在Action中返回一个结果视图,根据Restult的配置进行页面的跳转。

    0赞 · 0采集
  • 程序员慕虎 2019-10-19

    MVC模式

    截图
    0赞 · 0采集
  • 指尖农民 2019-10-18

    result 的type属性默认是dispacher

    截图
    0赞 · 0采集
  • 指尖农民 2019-10-18

    struts2接收list参数

    Action中定义List属性:bookList

    在jsp中使用name:bookList[0]的形式

    截图
    1赞 · 0采集
  • 指尖农民 2019-10-18

    struts.properties的常用配置

    截图
    0赞 · 0采集
  • 指尖农民 2019-10-18

    加后缀访问,如.html,http://localhost:8080/HelloWord/helloWord.html

    配置方式如下:

    截图
    0赞 · 0采集
  • 指尖农民 2019-10-18

    默认Action的配置

    用于配置找不到action时的错误页面设置

    截图
    0赞 · 0采集
数据加载中...
开始学习 免费