Struts2学习---namespace,file模块包含,默认action

我们上一节已经将action基本的配置和使用讲了,接下来我们讲以下struts一些小知识点:

namespac: 
上一节学习action的时候我们访问我们jsp文件时候使用的:

http://localhost:8080/testStruts2/hello 
这个路径,有同学就会问,为啥只能用这个路径, 
其实我们也可以用: 
http://localhost:8080/testStruts2/hello.action

这两种是默认的方法,但是同样我们也可以自定义。

<package name="default" namespace="/" extends="struts-default">
        <action name="hello">
            <result>
              /Hello.jsp
            </result>
        </action>
    </package

这是我们上一节的struts.xml配置文件,我们的namespace是一个“/”,不含有其他东西,如果namespace为空或者为”/”,我们来尝试一下:
http://localhost:8080/testStruts2/dd/ddd/hello
这样也可以进行访问。

所以我们就知道了为空或者“/”是一种默认路径,当项目中没有我们指定的路径的时候(dd/ddd/hello),我们这个namespace为空或者为“/”的这个action便承担起了默认访问的作用。

同时我们namespace也可以填写其他的东西: 
例如:namespace=“/index”,然后我们想要访问Hello.jsp的时候就需要:http://localhost:8080/testStruts2/index/hello 
前面要加上一个index。

<constant name="struts.devMode" value="true" />
//顺带讲一下这个,这个是将struts设置为开发者模式,这样修改项目过后就不需要重启服务器了(当然修改过后还是需要保存一下的)

file模块包含: 
我们的struts.xml主配置文件中可以包含其他的struts配置文件(名字不能与struts.xml相同,里面的格式内容相同) 
具体很简单:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <constant name="struts.devMode" value="true" />
    <inculde file="xxx.xml"/>
</struts>    

只要将想要包含的配置文件放入<inculde file="xxx.xml"/>中就好了。

默认action: 
当我们访问页面时候,当你访问的页面不存在的时候,会出现错误,所以我们可以为struts设置一个默认页面,当没有用户想访问的页面的时候,我们为用户默认返回一个页面。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
       <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

    <package name="default" namespace="/" extends="struts-default">
     <default-action-ref name="index"/>
        <action name="index" class="testStruts1.userAction">
            <result name="success">
              /default.jsp
            </result>
        </action>
    </package>
</struts>    

只要在package里面加上 <default-action-ref name="index"/>就可以让当用户访问页面不存在的时候,访问我们的默认页面。

版权声明:本文为博主原创文章,如需转载请表明出处。 https://blog.csdn.net/qq_39266910/article/details/78485972

原文地址:https://www.cnblogs.com/chengshun/p/9774433.html

时间: 10-11

Struts2学习---namespace,file模块包含,默认action的相关文章

【Struts2学习笔记(2)】Action默认值和配置Action于result各种转发类型

一.Action缺省配置值 <span style="font-size:18px;"><package name="itcast" namespace="/test" extends="struts-default"> <action name="helloworld" class="cn.itcast.action.HelloWorldAction" m

struts2.5动态方法调用和默认Action

在动态方法调用中,使用通配符方法出现问题,参考了http://www.cnblogs.com/jasonlixuetao/p/5933671.html 这篇博客,问题解决了. 这个是helloworld.xml: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Co

【Struts2学习笔记(2)】Action配置中的各项默认值和Action中result的各种转发类型

一.Action配置中的各项默认值 <span style="font-size:18px;"><package name="itcast" namespace="/test" extends="struts-default"> <action name="helloworld" class="cn.itcast.action.HelloWorldAction&quo

【Struts2学习笔记-4】包含其他配置文件

包含其他配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> &

Struts2之web元素访问与模板包含与默认Action使用

上一篇为大家介绍了如何使用Action进行参数接收,以及简单的表单验证,本篇为大家介绍一下关于Action访问web元素的三种方式(request.session.application):模板包含(include):默认Action的使用. 下面我先来看一下Action如何访问web元素:1.Map方式进行数据传递:IOC(控制反转):2.Map方式进行数据传递:依赖Struts2:3.原始数据类型参数传递:IOC:4.原始数据类型进行参数传递:依赖Struts2,我们接下来一个一个的为大家介

Struts2的默认action配置真的是bug?

最近在捯饬struts2,其中在学习一个namespace中的默认action的时候,遇到了一个问题,先提供下struts的配置文件如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://str

struts2学习笔记(4)---------action中的方法调用

系统需要使用Action的不同方法来处理用户请求,这就需要让同一个Action里面包含多个控制处理逻辑. 1)动态方法调用 即DMI(dynamic method invocation),使用actionName!methodName的形式来指定想要调用的方法,如果想使用DMI,需要在struts.xml里面加入这句话: <constant name="struts.enable.DynamicMethodInvocation" value="true" /&

Struts2默认Action

默认Action,所有未找到路径显示error.jsp页面. <default-action-ref name="index"></default-action-ref><action name="index">   <result>/error.jsp</result></action> package com.action; import javax.servlet.ServletConte

struts2默认Action配置

在项目中,需要在输入错误的url的时候,弹出友好的错误提示页面 在struts2中可以通过配置默认的action达到这个目的 配置方法: <package name="default" namespace="/" extends="struts-default"> <default-action-ref name="index"></default-action-ref> <actio

Struts2学习笔记(三)——Action详解

Action是用于处理请求操作的,它是由StrutsPrepareAndExceuteFilter分发过来的. 1.Action的创建方式 1) POJO类(PlainOldJavaObjects简单的Java对象),不需要继承任何父类,实现任何接口 1 public class TestAction { 2 public String execute() { 3 return "success"; 4 } 5 } 这种方式是Struts2框架通过反射来实现的,步骤: struts2框