strtus2更新为2.0.11.1,发现SlashesInActionNames不起作用了,也就是说我无法使用下面那样的简化配置:
<package name="admin.security" extends="default"
namespace="/security">
<default-interceptor-ref name="paramsPrepareParamsStack" />
<action name="*/*" class="{1}Action" method="{2}">
<result name="index">/pages/admin/security/{1}/index.jsp</result>
<result name="input">/pages/admin/security/{1}/edit.jsp</result>
<result name="success" type="redirect">{1}/index.do</result>
</action>
</package>
检查了所有可能发生错误的位置,没有找到问题,于是跟踪DefaultActionMapper的代码。发现alwaysSelectFullNamespace为true,这个变量我从未动过,它是定义在default.properties中的,并且缺省值是false。于是在struts.xml中重新定义这个值:
<constant name="struts.enable.DynamicMethodInvocation" value="false"></constant>
<constant name="struts.enable.SlashesInActionNames" value="true"></constant>
<constant name="struts.mapper.alwaysSelectFullNamespace" value="false"></constant>
<constant name="struts.mapper.class" value="org.apache.struts2.dispatcher.mapper.DefaultActionMapper"></constant>
问题解决。
但是为什么会这样呢?难道是struts2的BUG?
如果真是这样,我也许会用SpringMVC之类的框架了,本来就觉得struts2不太好用。
分享到:
相关推荐
指定了Struts 2生成URL时是否包含请求参数,可接受`none`、`get`和`all`三个属性值,分别对应于不包含、仅包含GET类型请求参数和包含全部请求参数。 #### struts.custom.i18n.resources 指定了Struts 2应用所需的...
Struts2是一个强大的MVC(模型-视图-控制器)框架,它在Java Web开发中广泛应用,用于构建可维护性和可扩展性高的企业级应用程序。而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得客户端和...
Struts2是一个强大的Java web应用程序框架,而Tiles是用于构建MVC(模型-视图-控制器)架构的一个视图组件库。将Tiles与Struts2结合使用,可以更有效地管理和组织网页布局,实现复杂的页面结构和重用内容。在本篇...
<constant name="struts.enable.SlashesInActionNames" value="true"/> <constant name="struts.action.extension" value="action,json"/> <package name="default" namespace="/" extends="struts-default,json-...
Struts2是一个非常流行的Java Web开发框架,它极大地简化了MVC应用的构建。JSON(JavaScript Object Notation)是用于数据交换的一种轻量级格式,它在Web服务和客户端之间传递数据时非常常见。在Struts2中,JSON支持...
Struts2是一款强大的Java Web框架,它为开发者提供了一种结构化的MVC(Model-View-Controller)开发模式,使得Web应用的构建更加简洁、高效。REST(Representational State Transfer)是一种架构风格,用于构建可...
Struts2是一个强大的Java web应用程序框架,用于构建可维护、可扩展且结构良好的MVC(模型-视图-控制器)架构应用。Tiles是Struts2的一个插件,它提供了页面布局和组合的功能,使得开发者可以将一个网页拆分成多个...
Struts2 JSON Plugin是Apache Struts框架的一个扩展插件,主要功能是支持Struts2应用程序与JSON(JavaScript Object Notation)格式的数据进行交互。JSON是一种轻量级的数据交换格式,广泛用于Web服务和AJAX...
JSON(JavaScript Object Notation)和Struts2是两种在Web开发中广泛使用的技术。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。而Struts2是一个基于MVC(Model-View-Controller)...
Struts2是一个非常流行的Java Web框架,它提供了一种组织MVC(模型-视图-控制器)架构的方式,便于开发人员构建动态Web应用程序。在现代Web应用中,JSON(JavaScript Object Notation)作为轻量级的数据交换格式,...
Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展且易于管理的企业级应用程序。在Struts2中,JSON(JavaScript Object Notation)包是一个关键组件,它提供了与JSON数据格式交互的能力,使得Web应用能够...
Struts2是一个流行的Java web框架,它为开发者提供了一种结构化的MVC(Model-View-Controller)架构来构建应用程序。在Struts2中,使用注解(Annotation)可以简化配置,提高开发效率。本篇文章将深入探讨如何在...
Struts2是一个强大的Java web应用程序框架,它提供了一种组织应用结构和控制流程的方式,而Struts2的异步调用功能则是为了提高用户体验,通过AJAX技术实现在不刷新整个页面的情况下更新部分视图。在本案例"Struts2之...
在"struts2+json/ajax"的组合中,Struts2框架与JSON和Ajax协同工作,提供了一个强大的机制来处理客户端和服务器端的数据交互。具体来说,当用户在前端执行某个操作时,Ajax会发送一个HTTP请求到服务器,这个请求通常...
Struts2是一个非常流行的Java Web开发...通过上述知识点,我们可以理解Struts2插件整合不仅仅是添加功能,更是一种提升项目效率和质量的方法。正确选择和配置插件,可以极大地优化开发过程,提高Web应用的用户体验。
Struts2是一个强大的Java web应用程序框架,它极大地简化了MVC(模型-视图-控制器)架构的实现。而Tiles是Struts2的一个重要组成部分,它允许开发者将多个页面组合成一个复杂的页面布局,实现了视图的重用和模块化。...
**AjaxStruts2Json实例详解** 在Web开发中,用户界面的实时性和互动性变得越来越重要,这使得异步更新技术如Ajax(Asynchronous JavaScript and XML)被广泛应用。Ajax允许网页在不重新加载整个页面的情况下与...
Struts2是一款强大的MVC(Model-View-Controller)框架,用于构建企业级Java Web应用程序。它基于Apache软件基金会的Jakarta Struts项目,旨在提供一个可扩展且灵活的架构,帮助开发者创建结构良好、易于维护的代码...
Struts2是一个强大的MVC(模型-视图-控制器)框架,它极大地简化了Java Web应用程序的开发。在Struts2中,Ajax和JSON技术的结合使得前后端交互变得更加高效和实时,为用户提供了更好的体验。现在我们来深入探讨这些...
下面我们将深入探讨Struts2 JSON插件的工作原理和使用方法。 首先,我们需要在Struts2的配置文件(struts.xml)中添加JSON插件的依赖,这样系统才能识别并处理JSON相关的请求: ```xml <constant name="struts....