*********************寻求好的解决方法?*******************
假设有三个JSP页面,1.jsp,2.jsp,3.jsp.在每个jsp中都可以输入好多文本域text,
1提交给2,2提交给3,最后在3上保存到数据库.
问题1.
由于2和3在客户输入内容后,如果输入错误可以修改,我在页面上提供可以返回修改的按钮,请问当2和3上面输入好多内容后,客户按返回修改的时候怎么样保存页面上的数据,
我知道可以用session,但是session太多了,是不是容易出错,有没更好的解决方法?
问题2.
我在2.jsp上有增加和删除的功能,就是客户输入内容后,按增加,在2.jsp中动态生成一个table,显示客户输入的记录内容,按删除,则动态删除table中的一条记录,怎么实现这样的功能?
如果客户输入了10条记录,这时按返回修改,页面切换到1.jsp,那么我们这么保存这10条记录?
请高手们帮帮忙,给出好的解决方案,
小弟是个大菜,请大侠们给出详细的代码?详细的代码?
小弟感激不尽!小弟感激不尽!小弟感激不尽!小弟感激不尽!
问题点数:100、回复次数:6Top
1 楼saucer(思归)回复于 2002-10-03 08:08:42 得分 40
1. too many session variables impact performance and scalablity, you can use hidden input controls, or cookies
2. use DHTML + Javascript to create/delete records, when the user clicks 返回修改按钮, submit the form, then use the choice you made to save the recordsTop
2 楼sdp001(煎熬ing.......)回复于 2002-10-03 09:43:09 得分 0
谁能给出详细的代码?我再加100分!Top
3 楼sdp001(煎熬ing.......)回复于 2002-10-03 09:44:59 得分 0
为什么我不能给帖子加分啊?Top
4 楼ninetowns2000(太累了)回复于 2002-10-03 12:35:41 得分 0
pushTop
5 楼sdp001(煎熬ing.......)回复于 2002-10-04 11:22:35 得分 0
?Top
6 楼Mai_520(一个很有上进心的流氓)回复于 2002-10-04 13:08:20 得分 60
实现的方法很多,我讲的是用定制标记的方法来实现。
客户端的输入文件 /1.jsp
<%@ taglib uri='WEB-INF/tlds/html.tld' prefix='html' %>
...
<table>
<tr><td><input type='text' size=15 name='firstName' value='<html:requestParameter property="firstName"/>'></td></tr>
<tr><td><input type='text' size=15 name='lastName' value='<html:requestParameter property="lastName"/>'></td></tr>
...
</table>
新建包含requestParameter标记的标记库 /WEB-INF/tlds/html.tld
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE taglib PUBLIC
"-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>Sun Microsystems Press Tag Library</shortname>
<info>This tag library has a single counter tag</info>
<tag>
<name>requestParameter</name>
<tagclass>tags.GetRequestParameterTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>property</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
标记处理程序 /WEB-INF/classes/tags/GetRequestParameterTag.java
package tags;
import javax.servlet.ServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
public class GetRequestParameterTag extends TagSupport{
private String property;
public void setProperty(String property){
this.property=property;
}
public int doStartTag() throws JspException{
ServletRequest req=pageContext.getRequest();
String value=req.getParameter(property);
try{
pageContext.getOut().print(value==null?"":value);
}catch(java.io.IOException e)
{System.err.println(e.getMessage());}
return SKIP_BODY;
}
}
利用标记处理程序有很多好处,我就不介绍了,你可找相关资料查阅。
good luckTop




