可以:
struts中:<form-bean name="dynaForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="friend" type="java.lang.String[]" size="3" />
</form-bean>
在Action 中取出:
String [] friend=(String[])dynaForm.get("friend");
struts中:<form-bean name="dynaForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="friend" type="java.lang.String[]" size="3" />
</form-bean>
在Action 中取出:
String [] friend=(String[])dynaForm.get("friend");
解决方案 »
- struts2迭代标签,不是一个对象,应该怎么迭代
- 一个JS问题,求关注!
- jpbm如何和业务数据分离
- [struts2]ModelDriven的一个问题
- Ext Window 拖拽 在IE里出错,在FF里正常!
- java连接html
- 经常注册是时候,文本框有提示,那是怎么做的阿
- 无法将 javax.servlet.http.HttpSession 中的 setAttribute
- 需要使用jrun在linux发布jsp网站并且托管的网友帮助一下
- 小女子有JAVA乱码问题,大哥哥们帮帮忙呀!目前我以解决中文乱码问题可是遇见“■,—”等符号还是乱码显示为“??”怎么解决呀!?
- (举手之劳)struts如何触发button事件
- 如果学习JAVA\JSP编程,让代码在自己手上挥弄自如!
但是如果我定义的是一个DynaAtionForm 里面有个names属性和它关联
<form-bean name="dynaForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="names" type="java.lang.String[]" size="3" />
</form-bean>
返回表单后就不能显示出来,不知道有什么好的方法解决?
建立相应的ActionForm和配置
如下:
(1)ActionForm:(ListForm.java) package com.zyl.struts.form;import java.awt.List;
import java.util.ArrayList;import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;/**
* MyEclipse Struts Creation date: 11-21-2007
*
* XDoclet definition:
*
* @struts.form name="listForm"
*/
public class ListForm extends ActionForm { // --------------------------------------------------------- Instance
// Variables
private ArrayList addresses = new ArrayList(); private ArrayList friends = new ArrayList(); // --------------------------------------------------------- Methods /**
* Method validate
*
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) { // TODO Auto-generated method stub
return null;
} /**
* Method reset
*
* @param mapping
* @param request
*/
public void reset(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub
this.addresses.clear();
this.friends.clear();
} public ArrayList getAddresses() {
return addresses;
} public void setAddress(int index, String address) {
if (this.addresses.size() > index) {
this.addresses.set(index, address);
} else {
while (this.addresses.size() < index) {
this.addresses.add(null);
}
this.addresses.add(index, address);
}
} public String getAddress(int index) {
if (this.addresses.size() > index) {
return (String) this.addresses.get(index);
}
return null;
} public ArrayList getFriends() {
return friends;
} public void setFriend(int index, String friend) {
if (this.friends.size() > index) {
this.friends.set(index, friend);
} else {
while (this.friends.size() < index) {
this.friends.add(null);
}
this.friends.add(index, friend);
}
} public String getFriend(int index) {
if (this.friends.size() > index) {
return (String) this.friends.get(index);
}
return null;
}
}
(2)数据接受页面listFormInput.jsps
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
prefix="html"%>
<html>
<head>
<title>ListForm</title>
</head>
<body>
<h2>
List Form Input
</h2>
<html:form action="/list">
who are your 3 friends:<br>
friend 1 : <html:text property="friend[0]" />
friend 2 : <html:text property="friend[1]" />
friend 3 : <html:text property="friend[2]" />
who are your 3 address<br>
addresses 1: <html:text property="address[0]" />
addresses 2: <html:text property="address[1]" />
addresses 3: <html:text property="address[2]" />
<html:submit />
<html:cancel />
</html:form>
</body>
</html>
(3)数据显示页面ListForm.jsp
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
prefix="html"%>
<html>
<head>
<title>ListForm</title>
</head>
<body>
<h2>
List Form Output
</h2>
Friends
<br>
Friend 1:
<bean:write name="listForm" property="friend[0]" />
<br>
Friend 2:
<bean:write name="listForm" property="friend[1]" />
<br>
Friend 3:
<bean:write name="listForm" property="friend[2]" />
<hr>
Addresses:
<br>
address 1: ${ listForm.addresses[0] }
<br>
address 2: ${ listForm.addresses[1] }
<br>
address 3: ${ listForm.addresses[2] }
<br>
</body>
</html>
其中的<html:link action="/forward.do">Forward</html:link>跳转到数据输入页 listFormInput.jsp
(4)struts 中的配置Form配置:
<form-bean name="listForm" type="com.zyl.struts.form.ListForm" />
Action配置:
<action attribute="listForm" input="/listFormInput.jsp"
name="listForm" path="/list" scope="request"
type="com.zyl.struts.action.ListAction">
<forward name="display" path="/listForm.jsp" />
</action>
(5)ListAction.java 只是添加了
return mapping.findForward("display");
(6)调试结果:
当点击数据显示页面上的链接时,返回到数据输入页,原来的数据并没有保存,text都清空了
如果你是改变了ListAction.java中的跳转页,return mapping.findForward(数据输入页面);
还在
2使用String[]接受数据:
(1)struts中的配置
Form:
<form-bean name="testForm"
type="org.apache.struts.action.DynaActionForm">
<form-property name="check" type="java.lang.String[]"
size="2" /> Action:
<action attribute="testForm" input="/test.jsp" name="testForm"
path="/test" scope="request"
type="com.zyl.struts.action.TestAction">
<forward name="suc" path="/suc.jsp" />
</action>
ForwardAction:
<action forward="/test.jsp" path="/forward" />
(2)数据输入页 test.jsp<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
prefix="html"%><html>
<head>
<title>JSP for DynaActionForm form</title>
</head>
<body>
<html:form action="/test">
check1 :<html:text property="check[0]"></html:text>
<br />
check2 :<html:text property="check[1]"></html:text> <br />
<html:submit />
<html:cancel />
</html:form>
<hr>
</body>
</html>
(3)数据显示页:suc.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
prefix="html"%><html>
<head>
<title>suc</title>
</head> <body>
check1:
<bean:write name="testForm" property="check[0]" />
<br>
check2:
<bean:write name="testForm" property="check[1]" />
<br>
<html:link action="/forward.do">Forward</html:link>
</body>
</html>
(4)测试结果 和上面的相同。
<form-property name="check" type="java.lang.String[]"
size="2" />
里面的name="check"一样,晕死,我去试一下,真是太感谢了