【发布时间】:2010-04-13 08:33:12
【问题描述】:
这是一个执行以下操作的小型测试应用程序
- 要求用户输入他的姓名并提交 - (index.jsp)
- 由于 index.jsp 是welcome.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
<?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:19 org.apache.catalina.core.ApplicationDispatcher 调用 SEVERE: Servlet.service() for servlet jsp 抛出异常标记 'select', field 'list': 请求的 列表键“bglist”不能 解决为 集合/数组/映射/枚举/迭代器 类型。示例:人或人。{name} - [未知位置]
【问题讨论】:
标签: struts2