第一个问题可以这么处理
<form name="form1">
<tr>
<tr><input type="button" name="bt1" onclick="butt1();">
<div name="dname">
<td><input type="text" name="t1"></td>
</div>
</tr>
</form>
<script>
function butt1()
{
var str1,str2;
str1=document.all.item("dname").innerHTML;
str2='<td><input type="text" name="t2"></td>'
document.all.item("dname").innerHTML=str1+str2;
}
</script>
<form name="form1">
<tr>
<tr><input type="button" name="bt1" onclick="butt1();">
<div name="dname">
<td><input type="text" name="t1"></td>
</div>
</tr>
</form>
<script>
function butt1()
{
var str1,str2;
str1=document.all.item("dname").innerHTML;
str2='<td><input type="text" name="t2"></td>'
document.all.item("dname").innerHTML=str1+str2;
}
</script>
你可以把这些新生成的属性,都叫一个名字,比如:
<html:text name="aaa" ....
<html:text name="aaa" ....一般情况下,form 中都是基本数据类型的,比如:String ,但是,对于这中情况,我们可以
把它声明为一个数组:
String[] bbb ;
bbb = request.getParameter("aaa");这样,就可以满足你的需求了。
第二个问题:
这个问题,不是中文乱码问题,
当你一个操作结束之后,你就应该把页面的输入从 request 中移除。在 excute()方法中的 return 之前,你做如下工作: /*从 httpServletRequest 范围内 将 actionMapping 的相关信息移除*/
httpServletRequest.removeAttribute(actionMapping.getAttribute());
然后你再返回,保证没有问题!
我上边说的情况,是 actionForm 是在 request 范围内有效的。如果 actionForm 在 session 范围内有效,你也要做同样的工作。这个问题,你可以参照这个帖子:
http://community.csdn.net/Expert/topic/4598/4598512.xml?temp=.6165277
我的意思是表单的属性不固定,那么actionform的属性名称应该是跟表单的属性名称对应的啊。我在忙我的乱码问题,想哭啊555555555
晕,干嘛一定用actionform?这段动态的在action这么写
request.getparameter("t2")
就行了
1.页面直接在浏览器的地址栏打开没任何问题
2.此页面为添加页面,所以没从数据库读数据
3.在action里没做任何处理,直接mapping.findforward()转发的
4.config里边action是这样的
<action name="addhotelForm" path="/hotelAction" scope="request" type="com.jewel.hotel.manage.action.HotelAction" attribute="addhotelForm">
其中这个attribute="addhotelForm"是看 zeq258(近朱者赤) 朋友提供的帖子加上去的,个人不太明白这个参数的意思,也不知道写对了没。回复liwen1234() 非常感谢你的热心,我是想找到一个通过actionform提交的方法,非常感谢!!
乱码问题还没解决我哭
我以前遇到过类似的问题,就是没有
httpServletRequest.removeAttribute(actionMapping.getAttribute());
造成的。我再提一个地方,可能会有问题:
就是 actionForm 的 reset 方法:在reset方法中,你让所有的属性都为 "";
比如:
public void reset(ActionMapping actionMapping, HttpServletRequest httpServletRequest) { usernanme= "";
password = "";
.........//这里是你的属性,做同样的处理 }
-----------------
你这样试试吧,
今天再顶一下,不晓得能不能解决
在说下这个乱吗问题的关键
1.页面直接在浏览器的地址栏打开没任何问题
2.此页面为添加页面,所以没从数据库读数据
3.在action里没做任何处理,直接mapping.findforward()转发的
4.乱吗页面在浏览器里边 点右键菜单 发现编码变成了西欧的,但转成中文后仍然是问号
5.这样的问题原来我在用tomact4.1的时候遇到了,是在action里加了
response.setContentType("text/html;charset=GBK");
request.setCharacterEncoding("GBK");
这样的2句就正常了,但现在变成5.5的服务器,就没用了。我又在外边装了个5.0还是有问题
现在非常郁闷啊,希望大家能来帮帮我,这个问题加分到200分,解决了马上给分!!HELP!~~
第一个问题没有完全看明白,不知道你是不是根据输入的内容不同,跳到不同的页面里去,
如果是这样的话,你就可以在action里先定义一个ActionForward这个类型的变量,然后根据你的判断在把ActionForward = mapping.findForward(""),就可以了。不知道你的是这个意思吗