Struts2注解配置之@Namespace(四)
今天开始学习@Namespace注解。
还是先看一段代码:
- package com.example.actions;
- import org.apache.struts2.convention.annotation.Action;
- import org.apache.struts2.convention.annotation.Namespace;
- import com.opensymphony.xwork2.ActionSupport;
- @Namespace("/custom")
- public class HelloWorld6 extends ActionSupport {
- @Action("/H6/url")
- public String execute() {
- return SUCCESS;
- }
- @Action("url")
- public String doSomething() {
- return SUCCESS;
- }
- }
- 名称空间注释允许操作类名称空间改变而不是使用Convention Plugin约定的Java包的名称。
仔细分析上述代码。HelloWorld6的包名为package
com.example.actions;。如果没有@Namespace("/custom")注解,按照Convention
Plugin的约定,会将此包作为根包。对应Action
URL的命名空间为“/”。而有@Namespace("/custom")注解的情况下,HelloWorld6的命名空间被改成了“
/custom”。但是我们在浏览器中输入http://应用服务器ip:端口/应用/H6/url访问时,没有任何问题,还可以跳转到“/H6
/url.jsp”页面。
这是什么原因呢?
关键在于@Action("/H6/url")。此处“/H6/url”是对Action的名称空间进行了完全限定。实验证明@Namespace("/custom")注解对名称空间进行完全限定的不起作用。
- 针对某个Action类进行@Namespace注释后,该注释的效果将应用于该类中所有未完全限定的action URLs
试着在浏览器中输入http://应用服务器ip:端口/应用/url访问时,报出了错误提示信息。将@Namespace("/custom")注解去
掉,重新启动服务,再次访问,成功!再次将@Namespace("/custom")注解加上,重新启动服务,访问,失败。
此回合操作验证了一个问题,@Namespace注解已经作用到doSomething()方法上。
仔细观察每一个细节。该方法上有@Action("url")注解。它“url”的前面没有“/”。这是未完全限定的action
URL啊。这样正好说明了针对某个Action类进行@Namespace注释后,该注释的效果将应用于该类中所有未完全限定的action URLs。
这样我们在浏览器中输入http://应用服务器ip:端口/应用/cutsom/url访问时,成功。跳转页面为“/custom/url.jsp”。
Struts2注解配置之@Namespace(四)的更多相关文章
- Maven 实现Struts2注解配置步骤详解
1,pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...
- spring+hibernate+struts2零配置整合
说句实话,很久都没使用SSH开发项目了,但是出于各种原因,再次记录一下整合方式,纯注解零配置. 一.前期准备工作 gradle配置文件: group 'com.bdqn.lyrk.ssh.study' ...
- struts2学习笔记之十四:使用注解配置Action(不是和spring集成使用)
Struts2支持使用注解配置Action,减少配置文件的配置 Struts2如果要支持注解配置Action,需要插件的支持,导入插件struts2-convention-plugin-2.1.8.1 ...
- 基于IDEA 最新Spirng3.2+hibernate4+struts2.3 全注解配置 登录
原文 基于IDEA 最新Spirng3.2+hibernate4+struts2.3 全注解配置 登录 首先说说 IDEA 12,由于myeclipse越来越卡,我改用idea12 了,发现其功能强悍 ...
- Annotation(四)——Struts2注解开发
Hibernate和Spring框架的开发前边总结了,这次看一下流行的MVC流程框架Struts2的注解开发吧.Struts2主要解决了从JSP到Action上的流程管理,如何进行Uri和action ...
- MyBatis 3(中文版) 第四章 使用注解配置SQL映射器
本章将涵盖以下话题: l 在映射器Mapper接口上使用注解 l 映射语句 @Insert,@Update,@Delete,@SeelctStatements l 结果映射 一对一映射 一对多映射 l ...
- Struts2注解 及 约定优于配置
Struts2注解 1 Struts2注解的作用 使用注解可以用来替换struts.xml配置文件!!! 2 导包 必须导入struts2-convention-plugin-2.3.15.jar包, ...
- Struts2的使用注解配置Action(零配置)
1.首先引入struts2注解的jar包:struts2-convention-plugin.jar ------------------------------第一种方式-------------- ...
- struts2的注解配置全面解析
以前在用struts2的注解配置时总是要在web.xml中配置一个初始化参数(actionPackages),最近发现不灵了,仔细研究了下发现即使不用在web.xml中配置也能成功,但时灵时不灵的,很 ...
随机推荐
- 关于JS的一些代码效果图
关于JS的一些代码效果图 1.几乎所有DOM元素都有innerText.innerHTML属性(注意大小写),分别是元素标签内内容的文本表示形式和HTML源代码,这两个属性是可读可写的. 需要注意的是 ...
- android中设置Animation 动画效果
在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation ...
- Sublime key bindings使用
开启vi mode后,可以使用很多的VI快捷方式,所以我的sublime已经不是单纯的st了,st的VI模式不完全支持所有的快捷键.我们来看一段官网的key bindings示例: { "k ...
- jquery常用函数与方法汇总
1.delay(duration,[queueName]) 设置一个延时来推迟执行队列中之后的项目. jQuery1.4新增.用于将队列中的函数延时执行.他既可以推迟动画队列的执行,也可以用于自定义队 ...
- 本地不安装oracle-client,使用pl/sql developer连接数据库
一.问题描述 本地未安装oracle-client端,由于机器资源有限,希望通过pl/sql developer进行远程数据库连接.单纯的安装pl/sql developer无法远程连接数据库. 二. ...
- 树形dp求树的重心
Balancing Act http://poj.org/problem?id=1655 #include<cstdio> #include<cstring> #include ...
- jQuery插件手把手教会(二)
上次我们将到了简单的jQuery插件,这次我们继续: 面向对象的插件开发 为什么要有面向对象的思维,因为如果不这样,你可能需要一个方法的时候就去定义一个function,当需要另外一个方法的时候,再去 ...
- <%@page include%>、<%@include%>、<jsp:include>三者之间的本质区别
<%@page include%>.<%@include%>.<jsp:include>三者之间的本质区别 先从它的几个内置对象说起. application和se ...
- Bad configuration option localCommand
command-line: line 0: Bad configuration option: PermitLocalCommand 2011-12-08 14:04:54 标签:Bad confi ...
- JsRender系列demo-10
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery.j ...