Java/JSTL/URL

Материал из Java эксперт
Версия от 18:01, 31 мая 2010; (обсуждение)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

JSTL Constructing URLs

<%@ taglib uri="http://java.sun.ru/jstl/core" prefix="c" %><%@ taglib uri="http://java.sun.ru/jstl/fmt" prefix="fmt" %>
<html>
  <head>
    <title>Create a URL</title>
  </head>
  <body>
    <form method="POST">
      <table border="1" cellpadding="0" cellspacing="0"
      style="border-collapse: collapse" bordercolor="#111111"
      width="62%" id="AutoNumber1">
        <tr>
          <td width="100%" colspan="2" bgcolor="#0000FF">
            <p align="center">
              <b>
                <font color="#FFFFFF" size="4">URL
                </font>
              </b>
            </p>
          </td>
        </tr>
        <tr>
          <td width="47%">Enter a base URL:</td>
          <td width="53%">
            <input type="text" name="url" size="20" 
              value="http://www.jexp.ru"/>
          </td>
        </tr>
        
        <tr>
          <td width="47%">Eneter a value for parameter "parm1"</td>
          <td width="53%">
            <input type="text" name="parm1" size="20" />
          </td>
        </tr>
        
        <tr>
          <td width="47%">Eneter a value for parameter "parm2"</td>
          <td width="53%">
            <input type="text" name="parm2" size="20"/>
          </td>
        </tr>
        <tr>
          <td width="47%">Eneter a value for parameter "parm3"</td>
          <td width="53%">
            <input type="text" name="parm3" size="20"/>
          </td>
        </tr>               
        <tr>
          <td width="100%" colspan="2">
            <p align="center">
              <input type="submit" value="Submit" name="submit" />
              <input type="reset" value="Reset" name="reset" />
            </p>
          </td>
        </tr>
      </table>
      <p>&#160;</p>
    </form>
    <c:if test="${pageContext.request.method=="POST"}">
      <hr>
      <c:url value="${param.url}" var="url">
        <c:param name="parm1" value="${param.parm1}"/>
        <c:param name="parm2" value="${param.parm2}"/>
        <c:param name="parm3" value="${param.parm3}"/>
      </c:url>
      <br/><b>The resulting URL is:</b>
      <c:out value="${url}"/>
    </c:if>
  </body>
</html>





JSTL: generate URL, add parameters to url and display the parameters

<%@ taglib uri="http://java.sun.ru/jstl/core" prefix="c" %>

<html>
  <head>
    <title>the c:url action (1)</title>
  </head>
  <body>
    This page takes 3 values that you specify, and forwards them to another JSP.
    That JSP will create a URL to another page, that then extracts the
    parameters and displays them.
    <p />
      <form action="createURL.jsp" method="post">
        <table>
          <tr><td>Enter name:</td>
              <td><input type="text" name="name"   /></td></tr>
          <tr><td>Enter age:</td>
              <td><input type="text" name="age"    /></td></tr>
          <tr><td>Enter gender:</td >
              <td><input type="text" name="gender" /></td></tr>
        </table>
        <input type="submit" value="Submit details" />
      </form>
  </body>
</html>
//createURL.jsp

<%@ taglib uri="http://java.sun.ru/jstl/core" prefix="c" %>
<c:url value="displayValues.jsp" var="displayURL">
  <c:param name="nameParam"   value="${param.name}" />
  <c:param name="ageParam"    value="${param.age}" />
  <c:param name="genderParam" value="${param.gender}" />
</c:url>
<html>
  <head>
    <title>the c:url action (2)</title>
  </head>
  <body>
    This page receives the values you specified, and creates a URL that contains
    them.
    <p />
    The generated URL is <c:out value="${displayURL}" />. <p/>
    Click  to view the it.
  </body>
</html>
//displayValues.jsp

<%@ taglib uri="http://java.sun.ru/jstl/core" prefix="c" %>
<html>
  <head>
    <title>the c:url action (3)</title>
  </head>
  <body>
    <h3>List of query string parameters:</h3>
    <ul>
      <c:forEach items="${param}" var="currentParam">
        <li><c:out value="${currentParam.key}" />
            = <c:out value="${currentParam.value}" /></li>
      </c:forEach>
    </ul>
 </body>
</html>