ÎåÖÖJSPÒ³ÃæÌø×ª·½·¨Ïê½â(1)
1. RequestDispatcher.forward()
ÊÇÔÚ·þÎñÆ÷¶ËÆð×÷ÓÃ,µ±Ê¹ÓÃforward()ʱ,Servlet engine´«µÝHTTPÇëÇó´Óµ±Ç°µÄServlet or JSPµ½ÁíÍâÒ»¸öServlet,JSP »òÆÕͨHTMLÎļþ,Ò²¼´ÄãµÄformÌá½»ÖÁa.jsp,ÔÚa.jspÓõ½ÁËforward()ÖØ¶¨ÏòÖÁb.jsp,´ËʱformÌá½»µÄËùÓÐÐÅÏ¢ÔÚ b.jsp¶¼¿ÉÒÔ»ñµÃ,²ÎÊý×Ô¶¯´«µÝ. µ«forward()ÎÞ·¨Öض¨ÏòÖÁÓÐframeµÄjspÎļþ,¿ÉÒÔÖØ¶¨ÏòÖÁÓÐframeµÄhtmlÎļþ,ͬʱforward()ÎÞ·¨ÔÚºóÃæ´ø²ÎÊý´«µÝ,±ÈÈçservlet?name=frank,ÕâÑù²»ÐÐ,¿ÉÒÔ³ÌÐòÄÚͨ¹ýresponse.setAttribute("name",name)À´´«ÖÁÏÂÒ»¸öÒ³Ãæ¡£
ÖØ¶¨Ïòºóä¯ÀÀÆ÷µØÖ·À¸URL²»±ä¡£
Àý£ºÔÚservletÖнøÐÐÖØ¶¨Ïò
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
¡¡ response.setContentType("text/html; charset=gb2312");
¡¡ ServletContext sc = getServletContext();
¡¡ RequestDispatcher rd = null;
¡¡ rd = sc.getRequestDispatcher("/index.jsp"); //¶¨ÏòµÄÒ³Ãæ
¡¡ rd.forward(request, response);
}
ͨ³£ÔÚservletÖÐʹÓ㬲»ÔÚjspÖÐʹÓá£
2. response.sendRedirect()
ÊÇÔÚÓû§µÄä¯ÀÀÆ÷¶Ë¹¤×÷,sendRedirect()¿ÉÒÔ´ø²ÎÊý´«µÝ,±ÈÈçservlet?name=frank´«ÖÁϸöÒ³Ãæ,ͬʱËü¿ÉÒÔÖØ¶¨ÏòÖÁ²»Í¬µÄÖ÷»úÉÏ,sendRedirect()¿ÉÒÔÖØ¶¨ÏòÓÐframe.µÄjspÎļþ.
ÖØ¶¨ÏòºóÔÚä¯ÀÀÆ÷µØÖ·À¸ÉÏ»á³öÏÖÖØ¶¨ÏòÒ³ÃæµÄURL
Àý£ºÔÚservletÖÐÖØ¶¨Ïò
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
¡¡ response.setContentType("text/html; charset=gb2312");
¡¡ response.sendRedirect("/index.jsp");
}
ÓÉÓÚresponseÊÇjspÒ³ÃæÖеÄÒþº¬¶ÔÏ󣬹ÊÔÚjspÒ³ÃæÖпÉÒÔÓÃresponse.sendRedirect()Ö±½ÓʵÏÖÖØ¶¨Î»¡£
×¢Ò⣺
(1) ʹÓÃresponse.sendRedirectʱ£¬Ç°Ãæ²»ÄÜÓÐHTMLÊä³ö£»
Õâ²¢²»ÊǾø¶ÔµÄ£¬²»ÄÜÓÐHTMLÊä³öÆäʵÊÇÖ¸²»ÄÜÓÐHTML±»Ë͵½ÁËä¯ÀÀÆ÷¡£ÊÂʵÉÏÏÖÔÚµÄserver¶¼ÓÐcache»úÖÆ£¬Ò»°ãÔÚ8K£¨ÎÒÊÇ˵ JSP¡¡SERVER£©£¬Õâ¾ÍÒâζ×Å£¬³ý·ÇÄã¹Ø±ÕÁËcache£¬»òÕßÄãʹÓÃÁËout.flush()Ç¿ÖÆË¢Ð£¬ÄÇôÔÚʹÓÃsendRedirect֮ǰ£¬ÓÐÉÙÁ¿µÄHTMLÊä³öÒ²ÊÇÔÊÐíµÄ¡£
(2) response.sendRedirectÖ®ºó£¬Ó¦¸Ã½ô¸úÒ»¾äreturn¡£
ÎÒÃÇÒѾ֪µÀresponse.sendRedirectÊÇͨ¹ýä¯ÀÀÆ÷À´×öתÏòµÄ£¬ËùÒÔÖ»ÓÐÔÚÒ³Ãæ´¦ÀíÍê³Éºó£¬²Å»áÓÐʵ¼ÊµÄ¶¯×÷¡£¼ÈÈ»ÄãÒѾҪ×öתÏòÁË£¬ÄÇôºóµÄÊä³ö»¹
Ïà¹ØÎĵµ£º
Action´úÂë
package com.zxc.action;import java.net.URLEncoder;public class XiaoZAction {
private String username; public String getUsername() { return username; }
public String execute() throws Exception{
username = URLEncoder.encode("ÖÜС´¨", "utf-8"); return "success"; }}
struts.x ......
ÏÈsunÌá³öµÄÊÇServletÌåϵ£¬Õâ¸öÌåϵʹµÃʹÓÃJAVAµÄ³ÌÐòÔ±Ò²ÄÜ¿ª·¢»ùÓÚB/S¼Ü¹¹µÄWEBÓ¦ÓóÌÐò£¬Ê¹ÓÃServletÀཫHTTPÇëÇóºÍÏìÓ¦·â×°ÔÚ±ê×¼JAVAÀàÖÐÀ´ÊµÏÖ¸÷ÖÖWEBÓ¦Ó÷½°¸¡£
Ëæ×Å´óÁ¿µÄB/S¼Ü¹¹³ÌÐò¿ª·¢³öÀ´ÒÔºó£¬ÈËÃÇ·¢ÏÖServletÀàµÄ±àдÊǷdz£·±ËöµÄ£¬Ö÷Òª¼¯ÖÐÔÚ¼¸¸öÎÊÌâÉÏ£ºÊ×ÏÈÓдóÁ¿ÈßÓà´úÂ룬ÕâЩ´úÂëÔÚÿ¸öservletÀàÖж ......
²»Ëµ·Ï»°ÁË£¬¿´ÏÂÃæµÄÀý×Ó°É(ÀûÓÃstructsʵÏÖ£©£º
ÔÚWEB£INFÏÂÓÐÁ½¸öÒ³Ãæ£º a.jsp ºÍ b.jsp £¬ ÏÖÔÚҪʵÏÖ´Óa.jspÁ¬½Óµ½b.jsp
ÔÚa.jspÖУº
<html:link action= ......
JSP+JavaScrip
t´òÔì¶þ¼¶¼¶ÁªÏÂÀ²Ëµ¥£º
(¸öÈ˲©¿Í£ºwww.duduct.com)
class(Ò»¼¶À¸Ä¿ÐÅÏ¢£©£ºclassId(×Ô¶¯±àºÅ£©£¬className£¨À¸Ä¿Ãû³Æ£©,
Nclass£¨¶þ¼¶À¸Ä¿ÐÅÏ¢£©,
NclassId£¨×Ô¶¯±àºÅ£©£¬NclassName(À¸Ä¿Ãû³Æ£©£¬parentId£¨Ò»¼¶À¸Ä¿id£¬Óëclass±íÖеÄclassId¹ØÁª£©
......
1. ActionContext
ÔÚStruts2¿ª·¢ÖÐ,³ýÁ˽«ÇëÇó²ÎÊý×Ô¶¯ÉèÖõ½ActionµÄ×Ö¶ÎÖÐ,ÎÒÃÇÍùÍùÒ²ÐèÒªÔÚActionÀïÖ±½Ó»ñÈ¡ÇëÇó(Request)»ò»á»°
(Session)µÄһЩÐÅÏ¢,ÉõÖÁÐèÒªÖ±½Ó¶ÔJavaServlet
HttpµÄÇëÇó(HttpServletRequest),ÏìÓ¦(HttpServletResponse)²Ù×÷.
ÎÒÃÇÐèÒªÔÚActionÖÐÈ¡µÃrequestÇëÇó²ÎÊý"username"µÄÖµ: ......