如何用JSF实现页面间的简单跳转

上期介绍到JSF引入了基于组件和事件驱动的开发模式,使开发人员可以使用类似于处理传统界面的方式来开发Web应用程序。提供了行为与表达的清晰分离。 不用特别的脚本语言或者标记语言来连接UI组件和Web层。JSF技术API被直接分层在Servlet API的顶端。 技术为管理组件状态提供一个丰富的体系机构、处理组件数据、确认用户输入和操作事件。

首先我们写出简单前端页面,代码如下

<html>
    <head>
        <title>Welcome Page</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
    <center>
        <form action="ServletA">
           Enter User Name
            <br/>
            <input type="text" name="uname" value="" />
            <br/>
            <input type="submit" value="Next" />
        </form>
        
    </center>
    </body>
</html>
 <form action="ServletA">
           Enter User Name
            <br/>
            <input type="text" name="uname" value="" />
            <br/>
            <input type="submit" value="Next" />
        </form>

这部分代码为中心部分,运行结果如下

 


<form>中指定进入ServerA中      name绑定“uname”  

以下为ServerA主要代码

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpSession;//save " user data" at server
/**
 *
 * @author Administrator
 */
public class ServletA extends HttpServlet {
String uname;
   
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
          uname=request.getParameter("uname");
          out.print("Hi "  + uname);
            out.print("<br/>");
            //1.Using "Hidden Form Field":Html Code
           // out.print(    " <form action='ServletB'>");//form
           // out.print("<input type=\"hidden\" name=\"uname\" value='"+uname+"' />");//value:hidden  field
           // out.print(" <input type=\"submit\" value=\"Next\" />");//button
            //out.print("</from>");
            //2.Uing "URL-Rewriting":Link<a>
            //out.print("<a href='ServletB?uname=="+uname+"'>Next</a>");
          //3.Using  Cookie class
     // Cookie ck=new Cookie("uname",uname);//creat Cookie
    // response.addCookie(ck);
      //add Cookie to "response"
     // out.print("<a href='ServletB'>Next</a>");
     //4.Using HttpSession Login page
     
     //a.creat new session,if not created
      HttpSession se=request.getSession();
     //b.set data/attributes
     
     
      out.print("<a href='index'>Next</a>");
        }
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }


    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }


    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
 HttpSession se=request.getSession();
     //b.set data/attributes
     se.setAttribute("uname ", uname);
      out.print("<a href='ServletB'>Next</a>");

此处uname就是index页面中的uname

绑定姓名后通过超链接

out.print("<a href='ServletB'>Next</a>")

跳转至初始页面中

如下图所示

 

 点击Next跳转后就到初始页

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值