zoukankan      html  css  js  c++  java
  • Struts2的通配符

    使用通配符的好处就是可以减少配置文件的内容,但是会减少可读性。

    使用通配符的原则是:约定优于配置

     通配符的分类:

    1.匹配元字符

    代码/语法 说明
    .              匹配除换行符以外的任意字符
    w           匹配字母或数字
    s            匹配任意的空白符
    d           匹配数字
               匹配单词的开始或结束
    ^            匹配字符串的开始
    $           匹配字符串的结束

    2.限定元字符
    +       1到多次
    ?      0到1
    *       0到多次

    struts2通配符使用的例子:

    action方法:

    public class UserAction extends ActionSupport {
    public String del(){
    return "del";
    }

    public String add(){
    return "add";
    }

    public String list(){
    return "list";
    }
    }
    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"></constant>
    <package name="pattern" namespace="/" extends="struts-default">
    <!--第一个 * 代表Action类的名称 第二个 * 代表类中方法的名称-->
    <action name="*_*" class="cn.sjl.day02.pattern.{1}" method="{2}">
    <result name="{2}">/day02/{2}.jsp</result>
    </action>
    </package>
    </struts>

    jsp页面
    <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
    <html>
    <head>
    <title>成功 </title>
    </head>
    <body>
    添加成功
    </body>
    </html>


    web.xml配置文件
    <web-app>
    <display-name>Archetype Created Web Application</display-name>
    <filter>
    <filter-name>struts</filter-name>
    <!--核心控制器-->
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>struts</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    </web-app>

    访问方式:

    struts2通配符使用虽然简单,但是它也有一定的局限性(缺点)。

    缺点:1.可读性差
              2.和其他一些标签联合使用的使用,其他标签的威力发挥不出来了

    
    




  • 相关阅读:
    Thinkphp 控制器
    Thinkphp 框架基础
    smarty练习:考试系统
    smarty 自定义函数
    smarty 变量调节器
    python 格式化的三种方法
    python 随机生成汉字
    python中的and和or用法
    pytest 运行用例报错:unknown hook 'pytest_namespace' in plugin <module 'allure.pytest_plugin'
    Jenkins安装插件报错:该Jenkins实例似乎已离线
  • 原文地址:https://www.cnblogs.com/sujulin/p/8473210.html
Copyright © 2011-2022 走看看