Struts2.0フォームでselectタグを使用してコミット中にエラーが発生しました
フォーム用にselectラベルが付いています.ページの初期化はすべて正常で、selectも正常に初期化されています.
しかし、私が提出したとき、次のエラーが発生しました.
重大:サーブレット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]
アプリケーションでは2つのAction、2つのjspページを使います.
1つFunctionsAction、1つFunctionstypeAction
add_function.jsp,add_1functions_success.jsp
有休プロセスは私がFunctionstypeActionからfunctionstypesのリストを取得したものです.
add_を初期化するために使用function.jspのselectラベル、
そしてフォームをFunctionsActionのinsertメソッドにコミットします
add_function.jsp初期化は正常ですが、
ただしポイントがFunctionsActionにコミットされたときはページが空白になります
ソースファイルを見てみるとページの一部しか実行されていませんが、
コードは次のとおりです.
Action、xml構成、jspページのコードを以下に示します.
FunctionsAction:
FunctionstypeAction:
struts.xml
----->>>アクションはSpringで設定しました
add_function.jsp:
このページだけで二日もよく眠れなかった.
add_function_success.jsp:
このページはとても简単で、个人は间违いがここに出ないと思って、ほほほ
私の今の感じはリストが同じActionから呼び出すしかなく、同じActionに提出するしかないのではないでしょうか???
しかし、私が提出したとき、次のエラーが発生しました.
重大:サーブレット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]
アプリケーションでは2つのAction、2つのjspページを使います.
1つFunctionsAction、1つFunctionstypeAction
add_function.jsp,add_1functions_success.jsp
有休プロセスは私がFunctionstypeActionからfunctionstypesのリストを取得したものです.
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">
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;
}
<!-- -->
}
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;
}
}
struts.xml
----->>>アクションは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>
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>
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>
私の今の感じはリストが同じActionから呼び出すしかなく、同じActionに提出するしかないのではないでしょうか???