中易网

WARN Form:308 - No configuration found for the specified action: 'loginProducer.action' in

答案:5  悬赏:70  
解决时间 2021-03-21 21:16
struts2的错误提示怎么解决 Struts.xml配置 <package name="struts2" extends="struts-default"> <action name="loginProducer" class="loginProducerAction"> <result name="success">/producersuccess.jsp</result> </action> </package> Html代码: <center> <h1><font color="red">生产商登录页面</font></h1> <s:actionerror/> <s:form action="loginProducer.action" method="post"> <s:textfield name="producer.username" label="用户名:" /> <s:password name="producer.password" label="密码:"/> <s:textfield name="vercode" label="验证码:"/><br/> <s:submit value="提交" /> </s:form> 验证码如图:<img alt="" src="authImg" id="authImg"> 看不清<a href="#" onclick="refresh()">单击此处刷新</a> <br/><br/> 如果未注册请单击此处<s:a href="producerregist.jsp">注册</s:a> <s:a href="listProducer.action">查看所有用户</s:a> </center> 提交表单后出现错误提示: 13:27:10,968 WARN Form:308 - No configuration found for the specified action: 'loginProducer.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value. 13:27:11,781 WARN Form:308 - No configuration found for the specified action: 'loginProducer.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value. 13:27:29,640 WARN Form:308 - No configuration found for the specified action: 'loginProducer.action' in namespace: '/'. Form action defaulting to 'action' attribute's literal value. 13:27:29,828 WARN Form:308 - No configuration found for the specified action: 'loginProducer.action' in namespace: '/'. Form action defaulting to 'action' attribute's literal value. 页面停留在登录页面, 浏览器显示地址: http://localhost:8080/Dammars/loginProducer.action 试过加namespace,问题还是不能解决。
最佳答案
找不到你的action类 你写的action类怎么没有包呢
全部回答
警告信息: 警告: No configuration found for the specified action: '/myNameSpace/login.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value. struts.xml配置信息(部分) <package name="packageName" extends="struts-default" namespace="/myNameSpace"> <action name="login" class="com.jato.srvclink.test.login.LoginAction" method="login"> jsp页面配置信息(部分) <s:form action="/myNameSpace/login.action"> 思考:没有在''的namespace中发现指定的action '/myNameSpace/login.action' 答疑:因为配置的struts2标签并未指定namespace属性。所以struts2会默认从根命名空间"/"搜索action串'/myNameSpace/login.action',如果搜索不到将进入默认命名空间''搜索action请求串,在默认命名空间中是肯定找不到我们定义的action的,所以,struts2抛出一个警告信息。 但是为什么我们没有填写namespace,我们的请求也可以正常访问呢? 我们来看一下解析后的html 查看源码得到的html(部分) <form id="login" onsubmit="return true;" action="/srvclink/myNameSpace/login.action" method="post"> 我们看到form提交的action串是准确的url请求,action串确实是/srvclin(应用根)/myNameSpace(命名空间)/login.action。 命名空间中找不到action定义,并不意味着这个action真的不存在,只是我们的代码有问题而已。还有一点是我们在jsp页面的action请求中手动的加入了.action后缀。事实上struts2会自动追加.action的,因为我们并没有合法的使用struts2的标签,所以struts2这里并没有给我们追加.action,解析后的代码中存在的.action,完全是我们手动在jsp页面填写的,有疑问的网友可以不手动添加查看html。 我们修改我们的程序代码 jsp页面配置信息(部分)修改后加入namespace属性,修改action属性值为/login.action <s:form action="/login.action" namespace="/myNameSpace"> 请求页面后,大家很失望吧?警告依然存在。但是我们看一下警告信息。 警告信息: 警告: No configuration found for the specified action: '/login.action' in namespace: '/myNameSpace'. Form action defaulting to 'action' attribute's literal value. 没有在'/myNameSpace'的namespace中发现指定的action '/login.action' 毫无疑问,这里的警告和第一次的警告信息截然不同。我们现在存在命名空间,'/myNameSpace'能够被struts2检索到,并不是开始的''。那问题的关键在哪里呢? 在namespace中没有发现指定的action '/login.action' ??? 我们来看一下struts.xml中的配置: struts.xml配置信息(部分) <package name="packageName" extends="struts-default" namespace="/myNameSpace"> <action name="login" class="com.jato.srvclink.test.login.LoginAction" method="login"> 是的,我们'/myNameSpace'命名空间下,只有action名字为'login'的定义,并没有所谓的 '/login.action' 定义,所以struts2的警告并未错。如果大家对这个抱有怀疑,可以修改action的名字'login'为‘/longin.action’ <action name="/login.action" class="com.jato.srvclink.test.login.LoginAction" method="login"> 请求页面时你会发现不在报警告信息,原因很简单。因为在命名空间为'myNameSpace'下确实存在命名为'/login.action'的action。 我们再次修改配置文件 jsp页面配置信息(部分)修改后action属性值为longin <s:form action="login" namespace="/myNameSpace"> 请求页面时,我们发现不再有警告信息了。 如果你有足够细心,我想你应该可以彻底的明白为什么struts2会报警了吧?你也应该明白了使用struts2标签action中添加/线后请求反而报错的原因了。
<package name="struts2" extends="struts-default" namespace="/">
如果你用Spring注入的,那么spring中的<bean id=""....Action class="包名.Action名称"> 如果只用到了struts2,那么你的包名肯定没有对应上,需要包名.Action名称
正确的写法应该是,<s:form method="post" action="loginProducer" namespace="" > ,即action那里不加“.action",namaspace=""即可。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
attraction的动词和形容词
杨颖好做作、丑、智孝勇敢、聪明、漂亮、超有
磨床永磁吸盘又没磁了,请用过的朋友推荐个好
龙源休闲会所地址在哪,我要去那里办事
新生儿黄疸多少为标准?
如果男朋友说喜欢你,但是问他为什么的时候,
什么植物只开花不结果?
经人介绍的女孩不理我了
劳动仲裁结果给我驳回了,我起诉到法院开庭了
深圳有哪些公立高中啊?
茶堂在什么地方啊,我要过去处理事情
家具销售流程
假天狮的几个级别什么待遇
〔经济〕这句话说的对不对?我怎么觉得准备金
三角翼临界迎角多少度
推荐资讯
从百草园到三味书屋表现了鲁迅对旧社会私塾的
我是黄钻,咋弄背景音乐?具体!
青岛理工大学大一能过四级吗?
求上饶师范学院图书馆09年来年轻的女管理员的
秦皇岛圆通速递张庄分部电话多少
前几天和老公吵架了,绝对是老公的错,然后婆
青岛科海驾校怎么样?
我想问一下谁有一首歌曲,这首儿歌,名字叫太
从南通体臣卫校到南通火车站坐哪路公车大神们
新乡餐饮外卖那家好?味美价廉?
请问重庆区县车进主城是怎样收钱的
淘宝买东西卖家发少货不肯解决该怎么样投诉
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?