Struts2.0 表单中用到select标签提交时出错
来源:互联网 发布:2015年交通事故数据 编辑:程序博客网 时间:2024/05/17 15:22
在表单用中到了select标签,页面初始化时一切正常,select也正常初始化
可是当我提交时就出现如下错误:
严重: Servlet.service() for servlet jsp threw exception
tag 'select', field 'list', name 'functions.typeId': The requested list key '%{types}' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
在应用中我用到两个Action,两个jsp页面
一个FunctionsAction,一个FunctionstypeAction
一个add_function.jsp,一个add_functions_success.jsp
具休流程是我从FunctionstypeAction中获取一个functionstypes的List
用来初始化add_function.jsp中的select标签,
然后把表单提交给FunctionsAction中的insert方法
add_function.jsp初始化是正常的,
但是点提交到FunctionsAction的时候页面空白
我看了一下源文件,页面只执行了一部分,
代码如下:
下面列出Action,xml配置和jsp页面的代码
FunctionsAction:
FunctionstypeAction:
struts.xml --->>>其中用到的Action我都在Spring中配置过了
add_function.jsp: --->>>就这个页面害我两天没睡好觉
add_function_success.jsp: --->>>这个页面很简单,个人认为错误不会出在这里,呵呵
我现在的感觉是List是不是只能从同一个Action中调出,也只能提交到同一个Action????
可是当我提交时就出现如下错误:
严重: Servlet.service() for servlet jsp threw exception
tag 'select', field 'list', name 'functions.typeId': The requested list key '%{types}' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
在应用中我用到两个Action,两个jsp页面
一个FunctionsAction,一个FunctionstypeAction
一个add_function.jsp,一个add_functions_success.jsp
具休流程是我从FunctionstypeAction中获取一个functionstypes的List
用来初始化add_function.jsp中的select标签,
然后把表单提交给FunctionsAction中的insert方法
add_function.jsp初始化是正常的,
但是点提交到FunctionsAction的时候页面空白
我看了一下源文件,页面只执行了一部分,
代码如下:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>首页</title>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- </head>
- <body style="text-align:center;">
- <form id="insertFunction" onsubmit="return true;" action="insertFunction.action" method="post">
- <table class="wwFormTable">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>首页</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /></head><body style="text-align:center;"><form id="insertFunction" onsubmit="return true;" action="insertFunction.action" method="post"><table class="wwFormTable">
下面列出Action,xml配置和jsp页面的代码
FunctionsAction:
- package com.mp.job.baseinfo.action;
- import java.util.List;
- import com.mp.job.baseinfo.service.IFunctionsService;
- import com.mp.job.baseinfo.vo.Functions;
- import com.mp.job.common.service.JobActionSupport;
- import com.mp.job.exception.BaseException;
- import com.mp.job.util.Pager;
- @SuppressWarnings("serial")
- public class FunctionsAction extends JobActionSupport {
- private IFunctionsService functionsService;
- private Functions functions;
- private List functionsRecords;
- @SuppressWarnings("unused")
- private Object[][] params;
- private Pager pager;
- <!-- getter和setter这里省略! -->
- public String insert()throws BaseException{
- try{
- functionsService.save(functions);
- }catch(Exception e){
- e.toString();
- addActionMessage("插入数据时出现异常!");
- return INPUT;
- }
- return SUCCESS;
- }
- <!-- 其他的方法省略 -->
- }
package com.mp.job.baseinfo.action;import java.util.List;import com.mp.job.baseinfo.service.IFunctionsService;import com.mp.job.baseinfo.vo.Functions;import com.mp.job.common.service.JobActionSupport;import com.mp.job.exception.BaseException;import com.mp.job.util.Pager;@SuppressWarnings("serial")public class FunctionsAction extends JobActionSupport {private IFunctionsService functionsService;private Functions functions;private List functionsRecords;@SuppressWarnings("unused")private Object[][] params;private Pager pager; <!-- getter和setter这里省略! -->public String insert()throws BaseException{try{functionsService.save(functions);}catch(Exception e){e.toString();addActionMessage("插入数据时出现异常!");return INPUT;}return SUCCESS;}<!-- 其他的方法省略 -->}
FunctionstypeAction:
- package com.mp.job.baseinfo.action;
- import java.util.List;
- import com.mp.job.baseinfo.service.IFunctionstypeService;
- import com.mp.job.baseinfo.vo.Functionstype;
- import com.mp.job.common.service.JobActionSupport;
- import com.mp.job.exception.BaseException;
- import com.mp.job.util.Pager;
- @SuppressWarnings("serial")
- public class FunctionstypeAction extends JobActionSupport {
- private IFunctionstypeService functionstypeService;
- private Functionstype functionstype;
- private List functionstypes;
- private List functionstypeRecords;
- @SuppressWarnings("unused")
- private Object[][] params;
- private Pager pager;
- <!-- getter和setter这里省略! -->
- @SuppressWarnings("unchecked")
- public String getAllFunctionstypes()throws BaseException{
- functionstypes = functionstypeService.findAll();
- return null;
- }
- <!-- 其他方法这里省略! -->
- public List getFunctionstypes() {
- return functionstypes;
- }
- public void setFunctionstypes(List functionstypes) {
- this.functionstypes = functionstypes;
- }
- }
package com.mp.job.baseinfo.action;import java.util.List;import com.mp.job.baseinfo.service.IFunctionstypeService;import com.mp.job.baseinfo.vo.Functionstype;import com.mp.job.common.service.JobActionSupport;import com.mp.job.exception.BaseException;import com.mp.job.util.Pager;@SuppressWarnings("serial")public class FunctionstypeAction extends JobActionSupport {private IFunctionstypeService functionstypeService;private Functionstype functionstype;private List functionstypes;private List functionstypeRecords;@SuppressWarnings("unused")private Object[][] params;private Pager pager;<!-- getter和setter这里省略! -->@SuppressWarnings("unchecked")public String getAllFunctionstypes()throws BaseException{functionstypes = functionstypeService.findAll();return null;}<!-- 其他方法这里省略! -->public List getFunctionstypes() {return functionstypes;}public void setFunctionstypes(List functionstypes) {this.functionstypes = functionstypes;}}
struts.xml --->>>其中用到的Action我都在Spring中配置过了
- <?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>
- <!-- ================================================================== -->
- <!-- 名称相关functionsAction -->
- <!-- ================================================================== -->
- <package name="functions" namespace="/admin/BaseInfo"
- extends="struts-default">
- <action name="insertFunction" class="functionsAction"
- method="insert">
- <result name="success">search_Functions.jsp</result>
- <result name="input">add_function.jsp</result>
- </action>
- <!-- 其他配置省略 -->
- </package>
- <!-- ================================================================== -->
- <!-- 类型相关Action -->
- <!-- ================================================================== -->
- <package name="functionstype" namespace="/admin/BaseInfo"
- extends="struts-default">
- <action name="getAllFunctionstypes" class="functionstypeAction"
- method="getAllFunctionstypes">
- </action>
- <!-- 其他配置省略 -->
- </package>
- </struts>
<?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><!-- ================================================================== --><!-- 名称相关functionsAction --><!-- ================================================================== --><package name="functions" namespace="/admin/BaseInfo"extends="struts-default"><action name="insertFunction" class="functionsAction"method="insert"><result name="success">search_Functions.jsp</result><result name="input">add_function.jsp</result></action> <!-- 其他配置省略 --></package><!-- ================================================================== --><!-- 类型相关Action --><!-- ================================================================== --><package name="functionstype" namespace="/admin/BaseInfo"extends="struts-default"><action name="getAllFunctionstypes" class="functionstypeAction"method="getAllFunctionstypes"></action> <!-- 其他配置省略 --></package></struts>
add_function.jsp: --->>>就这个页面害我两天没睡好觉
- <%@page language="java" pageEncoding="utf-8"%>
- <%@taglib prefix="s" uri="/struts-tags"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>首页</title>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- </head>
- <body style="text-align:center;">
- <s:actionmessage />
- <s:action name="getAllFunctionstypes" id="getAllFunctionstypes" />
- <s:set name="types" value="#getAllFunctionstypes.functionstypes"/>
- <s:form action="insertFunction.action" method="post">
- <s:select list="%{types}"
- listKey="id"
- listValue="name"
- name="functions.typeId"
- label="类型"/>
- <s:textfield name="functions.name" label="名称"/>
- <s:submit value="添加"/>
- </s:form>
- <hr/>
- </body>
- </html>
<%@page language="java" pageEncoding="utf-8"%><%@taglib prefix="s" uri="/struts-tags"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>首页</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /></head><body style="text-align:center;"><s:actionmessage /><s:action name="getAllFunctionstypes" id="getAllFunctionstypes" /><s:set name="types" value="#getAllFunctionstypes.functionstypes"/><s:form action="insertFunction.action" method="post"><s:select list="%{types}" listKey="id" listValue="name" name="functions.typeId" label="类型"/><s:textfield name="functions.name" label="名称"/><s:submit value="添加"/></s:form><hr/></body></html>
add_function_success.jsp: --->>>这个页面很简单,个人认为错误不会出在这里,呵呵
- <%@page language="java" pageEncoding="utf-8"%>
- <%@taglib prefix="s" uri="/struts-tags"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>首页</title>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- </head>
- <body style="text-align:center;">
- <table width="350px" height="150px" align="center" bgcolor="#ffff00">
- <tr><td style="color:#00ff00;"><b>成功添加数据!</b><br/><br/>
- <a href="add_function.jsp">继续添加</a> <a href="listAllFunctions.action">查看全部</a>
- </td></tr>
- </table>
- </body>
- </html>
<%@page language="java" pageEncoding="utf-8"%><%@taglib prefix="s" uri="/struts-tags"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>首页</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /></head><body style="text-align:center;"><table width="350px" height="150px" align="center" bgcolor="#ffff00"><tr><td style="color:#00ff00;"><b>成功添加数据!</b><br/><br/><a href="add_function.jsp">继续添加</a> <a href="listAllFunctions.action">查看全部</a></td></tr></table></body></html>
我现在的感觉是List是不是只能从同一个Action中调出,也只能提交到同一个Action????
- 23:47
- 浏览 (4435)
- 论坛浏览 (4133)
- 评论 (8)
- 分类: Struts2.0
- 收藏
- 相关推荐
- Struts2.0 表单中用到select标签提交时出错
- 在表单提交中用到的html5新标签
- struts2 select 标签(表单标签)
- struts2 select标签 action传递list集合到jsp,jsp提交到action
- struts2 使用标签防止表单重复提交
- Struts2.0表单标签
- struts2 防止表单重复提交主要用的到标签是<s: token />
- 在struts2中用jquery.ajax提交表单实例
- jquery表单提交到struts2中文乱码
- 关于struts2提交表单到后台
- AJAX提交Struts2表单(服务器端validation校验出错提示)
- AJAX提交Struts2表单(服务器端validation校验出错提示)
- 提交表单时,固定jsp页面<select>标签下option的值不刷新
- Struts2标签<s:token />防止表单重复提交
- Struts2 <s:token/>标签 防止表单多次提交
- struts2标签 表单验证错误,再次提交不能进入action
- Struts2 <s:token/>标签 防止表单多次提交
- struts2中防止多次提交表单的token标签
- ECC程序中nand_ecc_precalc_table表的生成原理
- 努力的学习C++中.....
- AJAX学习笔记03
- AJAX学习笔记04
- Oracle 执行计划
- Struts2.0 表单中用到select标签提交时出错
- 上网本为什么会在欧洲流行?
- 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
- 题目:猴子吃桃问题(c#)
- 中国与日本德国最可怕的差距!(总有种冒冷汗的感觉,注:看完再发表议论)
- Oracle Explain 2 --邵京国
- Perl 5 教程
- 重写gridview,支持list和dataset自动排序,带排序箭头,顺便把自动翻页也加进去了.
- IT管理人才必备的十大能力
评论
FunctionstypeAction:
代码
package com.mp.job.baseinfo.action;
import java.util.List;
import com.mp.job.baseinfo.service.IFunctionstypeService;
import com.mp.job.baseinfo.vo.Functionstype;
import com.mp.job.common.service.JobActionSupport;
import com.mp.job.exception.BaseException;
import com.mp.job.util.Pager;
@SuppressWarnings("serial")
public class FunctionstypeAction extends JobActionSupport {
private IFunctionstypeService functionstypeService;
private Functionstype functionstype;
private List functionstypes;
private List functionstypeRecords;
@SuppressWarnings("unused")
private Object[][] params;
private Pager pager;
<!-- getter和setter这里省略! -->
@SuppressWarnings("unchecked")
public String getAllFunctionstypes()throws BaseException{
functionstypes = functionstypeService.findAll();
return null;
}
<!-- 其他方法这里省略! -->
public List getFunctionstypes() {
return functionstypes;
}
public void setFunctionstypes(List functionstypes) {
this.functionstypes = functionstypes;
}
}
修改成:
<interceptor-ref name="basicStack"/>
</action>
能具体的说下验证文件那出问题了?我的邮件linyl@pominfo.cn
期待回复。谢谢!
问题已经解决,就是验证文件的问题,
让我恼的差点砸电脑,
不过问题过去了,感觉select还是满有用的,呵呵...
我在webwork中刚开始也遇到同样的问题
今天把action包中的一个验证配置给删了,结果就正常了,
顺便问一个
如果Action的验证配置没有起别名的话是不是会过滤掉所有的东西?
我删的那个配置文件是xxxAction-validation.xml
如果我要针对insert方法过滤是不是要这样写
xxxAction-insert-validation.xml?
另外说一句:list是可以从其它action中取的,