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"/>就可以让当用户访问页面不存在的时候,访问我们的默认页面。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏王小雷

设置页眉的章节及标题方法

设置页眉的章节及标题方法(以world 2016 版本为例) 1. 双击要修改的页眉 2. 打开“域”选项 选择“文档信息”后选择“域”选项 或者 “文档部件”...

21550
来自专栏linux运维学习

linux学习第四十九篇:设置更改mysql的root密码,连接MySQL,MySQL常用命令

设置更改root密码 这里的root是mysql的超级管理员用户,跟我们的linux系统不是同一个用户 mysql没有加入PATH环境变量中,只能在目录下使用...

30270
来自专栏Java成神之路

Linux_服务器_09_新虚拟机下linux网络配置

 控制面板—>网络和Internet—>网络共享中心—>更改网络适配器,即可进入网络连接

9430
来自专栏Spark学习技巧

不可不知的zookeeper小工具-zkui

本文主要是首先带着大家回顾一下zookeeper在大数据中的作用,然后给大家介绍一款zk的监控管理工具。

30930
来自专栏pangguoming

maven安装以及eclipse配置maven

下载maven的bin,在apache官方网站可以下载。 ? 下载下来之后,解压,找个路径放进去, 把bin的位置设在环境变量里,新建环...

35180
来自专栏Aloys的开发之路

解决adb push时出现的"Read-only file system"问题

出现Read-only file system问题,不是因为文件或者文件夹的权限不对,而是要push的目录对应的分区是以只读方式挂载的,网上给出的解决办法是重新...

61390
来自专栏北京马哥教育

如何用sosreport在Linux上创建诊断报告

Sosreport是RHEL / CentOS上的一个命令,它会收集系统配置和你linux机器上的诊断信息,如正在运行的内核版本、加载的模块和系统和服务配置文...

35140
来自专栏磨磨谈

掉电后osdmap丢失无法启动osd的解决方案

本篇讲述的是一个比较极端的故障的恢复场景,在整个集群全部服务器突然掉电的时候,osd里面的osdmap可能会出现没刷到磁盘上的情况,这个时候osdmap的最新版...

17430
来自专栏无原型不设计

【Mockplus教程】重命名

对页面和分组的重命名可以选中单个页面,然后使用F2进入名字修改状态,改完之后鼠标随便 点击其它地方即可完成修改。 对于选中页面也可以双击页面节点进入修改状...

33040
来自专栏小白安全

小白博客 在vmware虚拟机安装win10遇到的问题

当你遇到这种vmware虚拟机安装Windows10找不到硬盘的时候,或者是找不到光驱,百度各种无果的时候,真的想砸键盘。 但还是别砸了,有办法了。 https...

36590

扫码关注云+社区

领取腾讯云代金券