這裏是一個小的測試應用程序,做以下的事情Struts2的與S:動作標籤
- 要求用戶輸入他的名字,並提交 - (的index.jsp)
- 作爲的index.jsp的結果是,要求用戶選擇他/她的血型
的index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> </head>
<body>
<form action="MyName">
<s:textfield name="UserName" label="Enter Your Name"/>
<s:submit/>
</form><br>
</body>
</html>
struts.xml的welcome.jsp頁面
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="module1" namespace="" extends="struts-default">
<action name="MyName" class="module1.User">
<result>/Welcome.jsp</result>
</action>
<action name="Blood_Group" class="module1.SelectBloodGroup" method="bloodGroupList"/>
</package>
</struts>
SelectBloodGroup.java
package module1;
import java.util.ArrayList;
import com.opensymphony.xwork2.ActionSupport;
public class SelectBloodGroup extends ActionSupport{
private ArrayList<BloodGroup> bglist;
public String bloodGroupList(){
bglist = new ArrayList<BloodGroup>();
bglist.add(new BloodGroup("1","A+"));
bglist.add(new BloodGroup("2","B+"));
bglist.add(new BloodGroup("3","AB+"));
bglist.add(new BloodGroup("4","O+"));
bglist.add(new BloodGroup("5","A-"));
bglist.add(new BloodGroup("6","B-"));
bglist.add(new BloodGroup("7","AB-"));
bglist.add(new BloodGroup("8","O-"));
return "SUCCESS";
}
public ArrayList<BloodGroup> getBglist(){
return bglist;
}
}
class BloodGroup{
private String id;
private String bg;
BloodGroup(String id,String bg){
this.id=id;
this.bg=bg;
}
}
的welcome.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<s:action name="Blood_Group" executeResult="false"/>
//***************here is the problem***************
<s:select list="bglist" listKey="id" listValue="bg"/>
//***********************************************
</body>
</html>
Struts是無法識別bglist
作爲一個集合或數組或列表或迭代器。我應該分配什麼來列出s中的屬性:選擇文件中的標籤welcome.jsp
代碼有什麼問題請詳細告訴我。如果你可以寄給我正確的版本。爲什麼<s:action>
標籤不起作用?
這是我收到
2010年4月13日下午1時49分十九秒 org.apache.catalina.core.ApplicationDispatcher 援引嚴重的錯誤:Servlet.service()用於 servlet和jsp拋出異常標記 'select',field'list':請求的 列表鍵'bglist'不能爲 解析爲 collection/array/map/enumeration/iterator 類型。例如:人或人。{name} - [unknown location]