小弟最近刚学struts,请各位高人指点一下。我现在正在做页面,通过action将从数据查询的数据用logic:iterate显示到一个jsp页面。
页面代码如下: <table border="1" width="50%">
<tr bgcolor="#99aa99">
<td align="center" colspan="4">
<b><font size="6" face="隶书">准驾车型</b>
</td>
</tr>
<tr bgcolor="#99cc99">
<td align="center">
<b>编号</b>
</td>
<td align="center" colspan="3">
<b>名称</b>
</td>
</tr>
<logic:iterate id="zhujiachexing" name="data" type="">
<tr>
<td align="center" width="50">
<bean:write name="zhujiachexing" property="number"/>
</td>
<td align="center">
<input type="text" size="40" name="name" value="<bean:write name="zhujiachexing" property="name"/>" style="text-align:right;">
</td>
<td align="center" width="60">
<html:link action="Jsp/Jibenxinxi/Zhunjiachexing/updatazhunjiachexing" styleClass="caozuo">修改</html:link>
</td>
<td align="center" width="60">
<html:link action="Jsp/Jibenxinxi/Zhunjiachexing/deletezhunjiachexing" styleClass="caozuo">删除</html:link>
</td>
</tr>
</logic:iterate>
</table>我是想做修改,删除和新建。修改和删除用link调用两个action处理数据,但现在根本得不到变量值,请高人指点一下,小弟万分感谢。还有新建,我希望点击新建,jsp页面的table就会自动创建一行用于用户录入数据
然后还有个按钮,点击后,将调用action将数据真正录入到数据库。这几个问题已经困扰我快一周了,我实在是没有能力解决,希望大家帮帮我。我现在没有分,我是刚注册的,有分以后不会忘记大家的,我先谢谢大家了。
页面代码如下: <table border="1" width="50%">
<tr bgcolor="#99aa99">
<td align="center" colspan="4">
<b><font size="6" face="隶书">准驾车型</b>
</td>
</tr>
<tr bgcolor="#99cc99">
<td align="center">
<b>编号</b>
</td>
<td align="center" colspan="3">
<b>名称</b>
</td>
</tr>
<logic:iterate id="zhujiachexing" name="data" type="">
<tr>
<td align="center" width="50">
<bean:write name="zhujiachexing" property="number"/>
</td>
<td align="center">
<input type="text" size="40" name="name" value="<bean:write name="zhujiachexing" property="name"/>" style="text-align:right;">
</td>
<td align="center" width="60">
<html:link action="Jsp/Jibenxinxi/Zhunjiachexing/updatazhunjiachexing" styleClass="caozuo">修改</html:link>
</td>
<td align="center" width="60">
<html:link action="Jsp/Jibenxinxi/Zhunjiachexing/deletezhunjiachexing" styleClass="caozuo">删除</html:link>
</td>
</tr>
</logic:iterate>
</table>我是想做修改,删除和新建。修改和删除用link调用两个action处理数据,但现在根本得不到变量值,请高人指点一下,小弟万分感谢。还有新建,我希望点击新建,jsp页面的table就会自动创建一行用于用户录入数据
然后还有个按钮,点击后,将调用action将数据真正录入到数据库。这几个问题已经困扰我快一周了,我实在是没有能力解决,希望大家帮帮我。我现在没有分,我是刚注册的,有分以后不会忘记大家的,我先谢谢大家了。
解决方案 »
- ssh
- 关于tomcat下网页中的图片无法正常显示问题
- 关于接口回调的返回值参数问题,解决立刻给分,绝不含糊!!!
- javadbf不支持整型的数据吗?郁闷
- 诸位请留步,能介绍下你们都用什么软件看英文文档吗?另外帮我看看下面两段代码
- 请问点击applet中的按钮如何关闭调用它的html页面?
- 急!马上就要交题了,JSP连mqsql除了问题,请指点,在线等。急急急!谢谢
- 将domino中的数据转移到sqlser2000中
- 谁有jb下面编译java的用于websphere的几个包啊!急用
- 只学了Struts2和Hibernate...有开源的BBS练手吗?
- 求一条sql语句
- hibernate3与orcle9i中的表映射问题请教
其次<html:link action="Jsp/Jibenxinxi/Zhunjiachexing/deletezhunjiachexing"处,我没有使用过link标签的action的,我用的是<html:link page="xxx.do" paramId="" paramName="" paramProperty="">其中paramId是参数名称paramName在你这就是zhujiachexing,paramProperty应该是你的number了,page属性应该换成struts的action地址
我name直接用的heml:text做的,就是想用户直接就可以在jsp页面进行编辑,然后将数据传递给action,进行修改,可以吗?
通过该事件获得对应文字域的值,并修改自身的url(追加参数)
以上方案一
方案二就是每行都需添加到一个<html:form>中这样可以将链接修改为提交按钮
如果不想修改为按钮可以在链接上加入onclick事件,事件就提交对应的form
<logic:iterate id = "aaa" name = "bbb" >不需要写type没有特殊要求每次都没写过
<bean:write xxxxxxx/>
<a href = "xxx.do?disposeType=001&id=<bean:write name="aaa" property="id">">删除</a> //超联结里的参数disposeType就是处理类型,可以在action里判断一下这个参数来决定进行什么操作,比如disposeType=002代表新建.id就是对应的那条记录的代理主键嘛,是数据库里的唯一标示,那么在action里只要有个这个id就能唯一地取出任何一个记录进行处理了.
</logic:iterate>如果想要新建时候出现一个表单,你可以一开始就把表单写好,比如我一般都写在一个单独的table里,然后把他隐藏,想要新建的时候用javascript把这个table显示出来不就好了
参考:一个连接或按钮里面加 onclick="display()" //显示那个表单table<table style="display:none" id="displayNewTable"> //表单table,一开始隐藏在页面上
表单项
</table>javascript内容function display(){
document.getElementById("displayNewTable").style.display="";
}
这样那个table 就显示出来,你往里填吧,填完点这个table里的提交按钮就可以提交这个表单了
,但是我记得action好象只能绑定一个form.java,那就把这个form.java里写上所有要在这个action里调用的属性吧.
仔细看我贴的代码: <logic:iterate id="zhunjiachexing" name="data">
<tr>
<td align="center" width="50">
<bean:write name="zhunjiachexing" property="number"/>
</td>
<td align="center">
<html:text name="zhunjiachexing" property="name" size="40" style="text-align:right;" />
</td>
<td align="center" width="60">
<html:link page="/Jsp/Jibenxinxi/Zhunjiachexing/updatazhunjiachexing.do?number=${zhunjiachexing.number}&name=${zhunjiachexing.name}" styleClass="caozuo">修改</html:link>
</td>
<td align="center" width="60">
<html:link page="/Jsp/Jibenxinxi/Zhunjiachexing/deletezhunjiachexing.do" paramId="number" paramName="zhunjiachexing" paramProperty="number" styleClass="caozuo">删除</html:link>
</td>
</tr>
</logic:iterate> 因为修改所需要的数据是应该从html;text里面取得的,但现在好象是从logic;iterate里取了,所以,不管你在文本框里怎样编辑数据都不会改变,我现在就只有这个难题了。希望谁能帮我解决一下,最好是代码,这样看着比较明白。
先谢谢各位了。
<html:form action="/update.do">
<logic:iterate id="zhunjiachexing" name="data">
......
.....
<input type="checkbox" name="numbers" value="<bean:write name="zhunjiachexing" property="number"/>" /><html:text name="zhunjiachexing" property="name" size="40" style="text-align:right;" />
<input type="submit" name="submitbtn" value="修改"/>
</logic:iterate>
</html:form>struts-config.xml关于update的formbean属性
<form-property name="name" type="java.lang.String[]"/>
update action部分代码 DynaActionForm daf = (DynaActionForm) actionForm;
String[] names = (String[])daf.get("name");String[] numbers= (String[]) daf.get("numbers");for ( int num = 0; num < numbers.length; num++ ) { //update zhunjiachexing set name=names[num] where number=numbers[num]
}其他的自己根据需要写吧