collection="arr1"这里应该是arr2吧
解决方案 »
- 初学JAVA WEB问题。请大家帮忙。谢谢。
- tomcat下多项目交互
- axis 测试服务时遇到java.lang.reflect.InvocationTargetException
- 我对Java web开发的一点肤浅认识
- 显示文件列表的问题!!大虾们帮帮忙!
- 小弟高分求解eclipse+lomboz+tomcat的JSP网页显示问题!真是急死人了!
- 如何连Tomcat
- 我很气愤!!每次提问都没人理我。搞性别歧视吗?????
- jsp定义输出格式
- 表单用enctype="multipart/form-data"二进制流形式提交的话,除了file,其他的表单控件应该用什么方法接收呢?
- tomcat自动关闭问题
- 平台的二次开发
<action path="/category"
scope="request"
type="org.ss.struts.action.SelectAction">
</action>jsp:
<html:form action="/category.do" enctype="multipart/form-data" method="post">
<html:select property="categoryName">
<html:option value="请选择">请选择</html:option>
<html:options collection="${categoryList}" property="categoryId" labelProperty="categoryName"/>
</html:select><span class="red">*</span>
</html:form>
ACTION:HttpSession session = request.getSession();
ArrayList categoryList = new ArrayList();
ProductCategoriesDaoImpl pcDaoImpl = new ProductCategoriesDaoImpl();
String category_id1 = request.getParameter("category_id");
long category_id = new Long(category_id1);
categoryList = pcDaoImpl.showAllCategories(category_id);
request.setAttribute("category_id", category_id);
return new ActionForward("/productUpload.do");ProductCategoriesDaoImplString sql = "select CATEGORY_NAME from PRODUCT_CATEGORIES";
ArrayList arraylist = (ArrayList) getHibernateTemplate().find(sql);
return arraylist还是不对,各位给我看看!谢了!org.apache.jasper.JasperException: An exception occurred processing JSP page /test.jsp at line 20<html:form action="/category.do" enctype="multipart/form-data" method="post">
20就是这一行
你直接执行*.do看看是否能出现结果。。
首先 属性collection="categoryList" 不用EL。
第二,属性property和labelProperty应该是一对key和value,labelProperty是显示的值,property是对应的key.但是在你的ACTION中没有看到你的list里放的是key、value对应的BEAN对象或是map.根据楼主的意思我测试了一下,通过了,代码如下,楼主可以看一下是否是你出错的原因。struts-config.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
<data-sources />
<form-beans>
<form-bean name="categoryForm" type="com.yourcompany.struts.CategoryForm"></form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action path="/test" type="com.yourcompany.struts.SelectAction">
<forward name="success" path="/select.jsp"></forward>
</action>
<action path="/category" type="com.yourcompany.struts.CategoryAction"
name="categoryForm">
<forward name="success" path="/product.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>CategoryForm.javapackage com.yourcompany.struts;import org.apache.struts.action.ActionForm;public class CategoryForm extends ActionForm{
private static final long serialVersionUID = 1L;
private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}SelectAction.javapackage com.yourcompany.struts;import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;public class SelectAction extends Action{ @Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ArrayList list = new ArrayList();
Bean bean1 = new Bean("1", "aa");
Bean bean2 = new Bean("2", "bb");
Bean bean3 = new Bean("3", "cc");
list.add(bean1);
list.add(bean2);
list.add(bean3);
// for(int i=0;i<5;i++){
// Map map = new HashMap();
// map.put("categoryId","aa");
// map.put("categoryName",i);
// list.add(map);
// }
request.setAttribute("categoryList", list);
return mapping.findForward("success");
}}Bean.java
[code=Java]
package com.yourcompany.struts;public class Bean {
private String categoryId;
private String categoryName;
public Bean(String categoryId, String categoryName)
{
this.categoryId = categoryId;
this.categoryName = categoryName;
}
public String getCategoryId() {
return categoryId;
}
public void setCategoryId(String categoryId) {
this.categoryId = categoryId;
}
public String getCategoryName() {
return categoryName;
}
public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}
}select.jsp
[code=HTML]
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<html:form action="/category.do" method="post">
<html:select property="name">
<html:option value="请选择">请选择 </html:option>
<html:options collection="categoryList" property="categoryId"
labelProperty="categoryName" />
</html:select>
<span class="red">* </span>
</html:form>
</body>
</html>
[/code]
[/code]
改用<html:optionsCollection property="你的集合名" lable="显示名" value="实际值"/>即可。
还有你把页面报错的详细原因帖出来<html:form action="/category.do" enctype="multipart/form-data" method="post"> // at line20 就是这一行
只有在form标签内的都有可能是出现问题的原因。