我觉得提交一个表单就够了,如果判断有重复,显示重复订单的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> 

解决方案 »

  1.   

    struts2如何做我不清楚,单纯说ajax,用Prototype的
    new Ajax.Update()就行。
      

  2.   

    是的,这个和用什么框架没什么关系,直接用Prototype.js就可以了
      

  3.   

    1楼的如果有重复订单是要停留在当前页面的,不能跳转到其他页面的,只是在当前页面激活一个隐藏的table,在table中显示出查询出来的重复订单的信息 ,2,3楼的我不会,看不懂啊
      

  4.   


    <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>
    页面上大致就是这样
      

  5.   

    可以看到页面上doCheckUserName()里请求的servlet是userLoginServlet。
    配置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>
      

  6.   


    //举例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();
             }
      

  7.   

    忘记说了
    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会被更新
      

  8.   

    以上就是最简单的用ajax直接请求自定义的servlet的写法。
    也可以请求struts 的action,方法类似,不过不需要再在web.xml配置一遍
      

  9.   

    直接用ajax的dwr框架做就很容易了,找找书看看吧