본문 바로가기

WEB_Programming/Struts

Rewrite Tag<html:rewrite>: 사용법

Rewrite Tag<html:rewrite>:

html:rewrite Tag - 이태그는 request URI를 link 태그처럼 완전히 동일한 룰에 기반하여 렌더링을 한다.
   
Note :
  1. request URI값은 자바스크립트 프로시져에 의해 사용될때 스트링 상수값을 생성하기를 원할때 유용하다.
  2. 이 태그는 자동적으로 URL을 재 작성을 적용하며 쿠키가 없을때 세션의 상태에 대해서 관리할 수 있다.
  3. 태그의 바디에서 하이퍼링크를 표시하고자 할경우에 사용된다. 하이퍼링크를 위한 기본 URL은 태그에 주어진 프로퍼티에 기반하여 계산된다.

속성 설명 :

action      : Action의 논리적 이름에 대한 속성값으로 실제적으로 전송되어야할 목적지에 대한 URI의 내용을 포함한다. hyperlink는 쿼리파라미터의 추가를 통해 동적으로 변환될 수 있다. 당신은 액션 속성, forward속성, href속성, page속성 중 하나를 사용해야한다.

anchor    : 선택적인 앵커태그로 ("#XXX")로 생성된 hyperlink를 추가한다. 이 값은 #없이 작성하면 된다.

forward   : 전송되어야할 대상 URI와 실제적으로 연동된 글로벌 ActioinForward의 논리적 이름이다. 이 하이퍼링크는 포함된 쿼리 파라미터에 의해서 동적으로 변경가능하다. action속성, forward속성, href속성, page속성중 하나는 반드시 기술해야한다.

href        : "href"속성은 하이퍼링크로 전송될 URL을 지정하는 속성이다. hyperlink는 쿼리파라미터에 의해서 동적으로 변경되는 속성이다. action속성, forward속성, href속성, page속성중 반드시 하나는 필요하다.

name       : JSP빈의 이름으로 쿼리 파라미터를 표현하는 맵을 포함(프로퍼티가 지정되지 않은경우)하거나 getter 속성에 대한 값(프로퍼티값이 지정된경우)을 가지고 있다.

page       : "/"로 시작되는 모듈 상대경로로 설정되어 있는경우 하이퍼링크로 전송된다. 이 하이퍼링크는 쿼리 파라미터에 의해서 동적으로 변경가능하다. 역시 action, page, href, forward중 하나는 반드시 사용되어야 한다.

property   : name 속성에 의해서 지정된 빈의 속성이름이다. hyperlink를 가지고 있는 쿼리 파라미터에 대한 맵의 값이 반환되어야 한다. name속성이 지정되어야한다.

scope     : name 속성에 지정된 값을 찾기위한 영역으로 지정되어 있지 않으면 모든 영역을 검색하게된다.

 

Example code :
Creating an Action Class : Not Required here.
Creating Form Bean        : Not Required here.

global-forwards 글로벌 포워드 지정 :
Add the following entry in the struts-config.xml file for global-forward.

 <global-forwards>
     <forward name="welcome" path="/Welcome.do"/>
</global-forwards>


struts-config.xml 에 액션 매핑 지정 :
Here, Action mapping helps to select the  Form Bean, the Action class etc, for specific requests.

 <action path="/Welcome" forward="/welcomeStruts.jsp"/>

 

HtmlRewriteTag.jsp 작성 :

 <%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
       
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
      <body bgcolor="#999933">
        <h3><font color="#FFFF33">html:rewrite Tag Demo</font></h3>
        <A HREF="<html:rewrite action="Welcome.do" />"
>
       Click
for URL <html:rewrite action="Welcome.do"
/>
       </A>

    </body>
</html>

 

welcomeStruts.jsp 작성 :

 <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>

<html:html locale="true">
<head>
<title><bean:message key="welcome.title"/></title>
<html:base/>
</head>
<a href="HtmlRewriteTag.jsp">Go Back........</a><br/>
<body bgcolor="#999933">

<logic:notPresent name=
"org.apache.struts.action.MESSAGE"
                                      
scope="application">
  <font color="red">
    ERROR:  Application resources not loaded -- check servlet container
    logs for error messages.
  </font>
</logic:notPresent>

<h3><bean:message key="welcome.heading"/></h3>
<p><bean:message key="welcome.message"/></p>
</body>
</html:html>
 

Add the following line in the index.jsp to call the form :

 <a href="HtmlRewriteTag.jsp">HtmlRewriteTagDemo</a><br/>

 

Building and Testing the Example  :
Build , deploy and Test  the application .
Open the browser and navigate to the HtmlRewriteTag.jsp page.

Your browser displays the following page.


Click  the hyperlink to analyze the generated URL, welcomeStruts.jsp page, and see the output .

Output after clicked..........

Above actions   displays the working of  <html:rewrite>tag. 

'WEB_Programming > Struts' 카테고리의 다른 글

Img Tag<html:img>: 사용법  (0) 2008.06.10
Radio Tag <html:radio>: 사용법  (0) 2008.06.10
Select Tag<html:select>: 사용법  (0) 2008.06.10
Textarea Tag<html:textarea>: 사용법  (0) 2008.06.10
Checkbox Tag <html:checkbox>: 사용법  (1) 2008.06.10