我觉得提交一个表单就够了,如果判断有重复,显示重复订单的jsp页面,如果不重复,显示下一步的jsp页面,判断重复在payinfoaction中加:
public String execute() {
if(有重复){
准备重复订单的数据给repeat.jsp显示;
return "isRepeat";
}
......
return SUCCESS;
}
在struts.xml中:
<action name="payinfo" class="PayinfoAction">
<result>成功时的页面</result>
<result name="isRepeat">repeat.jsp</result>
</action>
public String execute() {
if(有重复){
准备重复订单的数据给repeat.jsp显示;
return "isRepeat";
}
......
return SUCCESS;
}
在struts.xml中:
<action name="payinfo" class="PayinfoAction">
<result>成功时的页面</result>
<result name="isRepeat">repeat.jsp</result>
</action>
解决方案 »
- 求助: JSF(primefaces)+hibernate+Spring java.io.NotSerializableException
- 程序不规律的报错(第一次点击错误,第二次点击错误小时),请分析一下错误原因(内含错误)
- weblogic下部署的Web Services 有时出错(忘高人指点)
- 为什么会有这样的错误 求高手教啊
- 如何在SWT中的窗体程序中添加记录每次登陆退出用户的日志
- 请教一个struts中ActionForm的问题,谢谢
- JBuilder和WebLogic部署J2EE的问题
- 求教,无状态SessionBean问题。
- CMP如何实现多个表的操作,另外有多个主键该怎么办呢?
- 怎样配置JB5,才能使EJB的项目图标不虚?(注:我的JB5安装时勾选了BORLAND APPLICATION SERVER4.5!)
- java 下载直接写服务端路径和流写出的区别???
- 数据库问题
new Ajax.Update()就行。
<script language="javascript" src="<%=request.getContextPath()%>/js/prototype.js"></script>
<!--引入prototype.js 到网上找一个prototype.js下载下来就可以了 -->
<script type="text/javascript">
function doCheckUserName() {
var value = document.getElementById("控件ID").value; var url ='<%=request.getContextPath()%>' + '/userLoginServlet';
var pars = 'userName=' + value;
//可以有多个参数,如var pars = 'userName=' + value + '&password=' + '1'
var myAjax = new Ajax.Updater('userNameMsg', url, {method: 'get', parameters: pars}); }</script>
页面上大致就是这样
配置web.xml <servlet>
<servlet-name>userLoginServlet</servlet-name>
<servlet-class>servlet.UserLoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>userLoginServlet</servlet-name>
<url-pattern>/userLoginServlet</url-pattern>
</servlet-mapping>
//举例UserLoginServlet
public class UserLoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
} protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String userName = request.getParameter("userName");
String password = request.getParameter("password");
String password2 = request.getParameter("password2");
String age = request.getParameter("age");
String address = request.getParameter("address"); ServletOutputStream out = response.getOutputStream();
response.setContentType("text/html;;charset=UTF-8");
out.print(此用户名已经存在!请重新输入");
out.flush();
out.close();
}
var myAjax = new Ajax.Updater('userNameMsg', url, {method: 'get', parameters: pars});
第一个参数'userNameMsg'是指的欲更新的页面控件,更新的具体内容就是在UserLoginServlet这句out.print(此用户名已经存在!请重新输入");
======================================================================
<html:text style="width:400px" property="userName" value=""
maxlength="50" onblur="doCheckUserName();"></html:text>
<span id="userNameMsg"></span>
id为userNameMsg的span会被更新
也可以请求struts 的action,方法类似,不过不需要再在web.xml配置一遍