读书人

一个让人莫名其妙的有关问题-架构STRU

发布时间: 2012-02-19 19:43:38 作者: rapoo

一个让人莫名其妙的问题----------架构STRUTS,工具ECLIPSE
这是我的文件内容
ACTIONFORM内容:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package cn.hxex.huge.struts.form;

import java.util.*;
import java.util.Map;
import java.util.HashMap;
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: 07-27-2007
*
* XDoclet definition:
* @struts.form name= "friendsForm "
*/
public class FriendsForm extends ActionForm {
private List names = new ArrayList();
private List addresses = new ArrayList();
/*
* Generated 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
}
/**
* 以LIST为单位,STE,GET该属性的值
* @return
*/
public List getAddresses() {
return addresses;
}

public void setAddresses(List addresses) {
this.addresses = addresses;
}

public List getNames() {
return names;
}

public void setNames(List names) {
this.names = names;
}
/**
* 以LIST中单个值为单位,SET,GET该LIST的值
* @param index
* @param name
*/
public void setName(int index,String name){
if(this.names.size() > index)
this.names.add(index, name);
else{
while(this.names.size() < index)
this.names.add(null);
this.names.add(index,name);
}
}
public String getName(int index){
if(this.names.size() < index)
return null;
else
return (String)this.names.get(index);

}
public void setAddress(int index,String address){
if(this.addresses.size() > index)
this.addresses.add(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 null;


else
return (String)this.addresses.get(index);
}
}
下面是我的ACTION的内容
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package cn.hxex.huge.struts.action;

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;
import cn.hxex.huge.struts.form.FriendsForm;

/**
* MyEclipse Struts
* Creation date: 07-27-2007
*
* XDoclet definition:
* @struts.action path= "/friends " name= "friendsForm " input= "/form/friends.jsp " scope= "request " validate= "true "
*/
public class FriendsAction extends Action {
/*
* Generated Methods
*/

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
FriendsForm friendsForm = (FriendsForm) form;// TODO Auto-generated method stub
return mapping.findForward( "friends ");
}
}
下面是我的INPUT文件内容(FRIENDS.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 FriendsForm form </title>
</head>
<body>
<html:form action= "/friends ">
Who are you friends:
friends 1 : <html:text property= "name[0] " /> <br>
friends 2 : <html:text property= "name[1] " /> <br>
friends 3 : <html:text property= "name[2] " /> <br>

They are address:
address 1 : <html:text property= "address[0] " /> <br>
address 2 : <html:text property= "address[1] " /> <br>
address 3 : <html:text property= "address[2] " /> <br>
<html:submit/>
</html:form>
</body>
</html>

下面是我的输出页面内容(PRINTFRIENDS.JSP)
<%@ page language= "java " pageEncoding= "ISO-8859-1 "%>

<%@ taglib uri= "http://struts.apache.org/tags-bean " prefix= "bean " %>
<%@ taglib uri= "http://struts.apache.org/tags-html " prefix= "html " %>


<%@ taglib uri= "http://struts.apache.org/tags-logic " prefix= "logic " %>
<%@ taglib uri= "http://struts.apache.org/tags-tiles " prefix= "tiles " %>
<%@ taglib uri= "http://java.sun.com/jsp/jstl/functions " prefix= "fn " %>
<%@ taglib uri= "http://java.sun.com/jsp/jstl/core " prefix= "c " %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN ">
<html:html lang= "true ">
<head>
<html:base />

<title> PrintFriends.jsp </title>

</head>
<body>
You are ${fn:length(friendsForm.names)} friends: <br>
<c:set var= "count " value= "0 " />
<c:forEach var= "friend " items= "${fn:length(friendsForm.names)} ">
<c:set var= "count " value= "${count+1} " />
friends ${count} : <bean:write name= "friendsForm " property= "name[${count}] "/>
</c:forEach>

They are address:
<c:set var= "count " value= "0 " />
<c:forEach var= "friend " items= "${fn:length(friendsForm.addresses)} ">
<c:set var= "count " value= "${count+1} " />
address ${count} : <bean:write name= "friendsForm " property= "address[${count}] "/>
</c:forEach>
</body>
</html:html>

下面是我的STRUTS-CONFIG相关配置

<form-beans >
<form-bean name= "friendsForm " type= "cn.hxex.huge.struts.form.FriendsForm " />

</form-beans>
.......
<action-mappings >
<action
attribute= "friendsForm "
input= "/form/friends.jsp "
name= "friendsForm "
path= "/friends "
scope= "request "
type= "cn.hxex.huge.struts.action.FriendsAction " >
<forward name= "friends " path= "/PrintFriends.jsp " />
</action>


</action-mappings>



[解决办法]
text 的值也可以用数组来表示么?
------解决方案--------------------


我配置了自己的jsp服务器 诚招jsp虚拟空间代理商 如果有兴趣可以加qq254672366

读书人网 >Java Web开发

热点推荐