[转]No configuration found for the specified action 原因及解决方案
报错内容
警告: No configuration found for the specified action: 'login' in namespace: ''. Form action defaulting to 'action' attribute's literal value.
引发原因
底层原因本人不是太清楚,但我理解的是,由于请求页面的namespace属性与struts.xml的namespace属性值不一致引起的,这种警告基本上不会影响系统的运行,但对于一个追求完善的人来说,不得不说,这并不是一道好的风景。所以,这里,提供一个小小的解决方案供朋友们参与。
由于引发这个警告的只是用于请求的jsp页面和struts.xml两个文件,为了让朋友们更好的理解,这里我将用于测试的代码复制出来,供大家参与。(请求页面:login.jsp struts2配置文件:struts.xml)
(由于下面的jsp页面关联有其他文件,这里就不复制出来了,单独使用可能会有其他的错误。如果读者需要测试的话,可以自己写一个简单的登录页面)
引发警告的文件:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title><s:property value="getText('loginPage')"/></title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<s:form action="login" method="post">
<s:textfield name="username" key="user"></s:textfield>
<s:password name="password" key="pass"></s:password>
<s:submit name="submit" key="login"></s:submit>
</s:form>
</body>
</html>
login.jsp
<?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>
<!-- Add packages here -->
<package name="struts0200" namespace="/" extends="struts-default">
<default-action-ref name="index" /> <action name="login" class="com.struts2_0200.LoginAction">
<result name="success">
/welcome.jsp
</result>
<result name="error">
/login.jsp
</result>
</action>
</package>
</struts>
struts.xml
引发警告的的关键之处
login.jsp页面中,<s:form action="login" method="post"> ,此处没有指明namespace属性的值,所以系统会自动的认为namespace的值为警告信息中的那样,namespace: ''
而struts.xml文件中,我们指定的namespace的值为:namespace="/",两处的namespace的值为一致,从而导致了警告的产生。
所以,解决方法很简单,将两个页面的namespace的值改成一样的就行了。这里我修改了login.jsp页面,修改内容如下:
<s:form action="login" method="post" namespace="/">
另外补充一点,这种情况一般发生在Tomcat 6.0及其以后的版本,之前版本的不会发出这种警告。如果不是系统功能的需要,建议不要使用最新版本的服务器。
[转]No configuration found for the specified action 原因及解决方案的更多相关文章
- No configuration found for the specified action解决办法
http://blog.csdn.net/carefree31441/article/details/4857546 使用Struts2,配置一切正常,使用常用tag也正常,但是在使用<s:fo ...
- No configuration found for the specified action解决办法(转)
使用Struts2,配置一切正常,使用常用tag也正常,但是在使用<s:form>标记时,发现控制台总是输出警告信息, 警告信息内容如下: 警告: No configuration fou ...
- [转]No configuration found for the specified action解决办法
使用Struts2,配置一切正常,使用常用tag也正常,但是在使用<s:form>标记时,发现控制台总是输出警告信息, 警告信息内容如下: 警告: ...... <div> h ...
- validators配置要点及No result defined for action报错解决方案
在做JavaEE SSH项目时,接触到validators验证. 需要了解validators配置,或者遇到No result defined for action 这个错误时,可查阅本文得到有效解决 ...
- 基于struts2注解@action的@Result跳转问题——跳转到另一个action
初学ssh 基于注解的方式简单灵活,但是做一个例子的时候,添加用户AddUser 完成后 想页面跳转到 ListUser 这个action, 然后action 成功后 会跳转到list.jsp 显示 ...
- MySQL 5.6 Reference Manual-14.4 InnoDB Configuration
14.4 InnoDB Configuration 14.4.1 InnoDB Initialization and Startup Configuration 14.4.2 Configuring ...
- 基于ASP.NET Core 3.x的端点路由(Endpoint Routing)实现控制器(Controller)和操作(Action)分离的接口服务
本文首发于 码友网 -- <基于ASP.NET Core 3.x的端点路由(Endpoint Routing)实现控制器(Controller)和操作(Action)分离的接口服务> 前言 ...
- Could not execute action
2.Could not execute action 原因:action成员变量有空值,要访问方法中,使用了该成员变量 参考: http://www.blogjava.net/javagrass/ar ...
- 使用VS2012 开发SharePoint 2013 声明式的action(activity) 综合实例
本文讲述使用VS2012 开发SharePoint 2013 声明式的action 综合实例. 需求同: http://blog.csdn.net/abrahamcheng/article/detai ...
随机推荐
- python中写入txt文件需要换行,以及\r 和\n
在Python中,用open()函数打开一个txt文件,写入一行数据之后需要一个换行 如果直接用 f.write(’\n’)只会在后面打印一个字符串’\n’,而不是换行’需要用 f.write(’\r ...
- Hadoop3.1.1源码Client详解 : Packet入队后消息系统运作之DataStreamer(Packet发送) : 主干
该系列总览: Hadoop3.1.1架构体系——设计原理阐述与Client源码图文详解 : 总览 在上一章(Hadoop3.1.1源码Client详解 : 写入准备-RPC调用与流的建立) 我们提到, ...
- JavaScript可枚举的属性
/* 把P中的可枚举属性复制到o中,并返回o中 如果o和p中含有同名的属性,则覆盖O中的属性 这个函数并不处理getter和setter以及复制属性 */ function extend(o,p){ ...
- Arctic Network(洛谷)--北极通讯网络(loj)
洛谷传送门 loj传送门 一道蛮基础的最小生成树的题 题意也没绕什么圈子 只是叙述的有点累赘而已(loj上是这样的 也就读入加建边需要稍稍稍多想一下下 对于我这么一个蒟蒻 这是一道很好的板子题 (洛谷 ...
- Ethereum Learning Materials
Home 注:本页为 EthFans 站内文章精选集.鉴于文章的采集范围较广,我们无法保证文章内容没有重复,也不能保证排列的顺序实现了最优的认识路径.我们只能说,这些文章是我们精挑细选后,确认可以长期 ...
- [QT] QT5.12 HTTPS请求 TLS initialization failed
#前言 接触到了Qt的网络编程 然后尝试对一个http页面请求获取源码 是可以的 但是当对https界面发出请求的时候总是错误 TLC什么的初始化失败 百度也是没有结果 然后网上各种方法 比如说编译O ...
- ListView 基础列表组件、水平 列表组件、图标组件
一.Flutter 列表组件概述 列表布局是我们项目开发中最常用的一种布局方式.Flutter 中我们可以通过 ListView 来定义 列表项,支持垂直和水平方向展示.通过一个属性就可以控制列表的显 ...
- 【PAT甲级】1074 Reversing Linked List (25 分)
题意: 输入链表头结点的地址(五位的字符串)和两个正整数N和K(N<=100000,K<=N),接着输入N行数据,每行包括结点的地址,结点的数据和下一个结点的地址.输出每K个结点局部反转的 ...
- onblur事件和onfocus事件失效
先看onblur事件和onfocus事件的定义: <element onblur="SomeJavaScriptCode"> <element onfocus=& ...
- Spring 事务管理的API
Spring事务管理有3个API,均为接口. (1)PlatformTransactionManager 平台事务管理器 常用的实现类: DataSourceTransactionManager ...