Пользовательские теги JSP фиксируют ввод пользователя - PullRequest
0 голосов
/ 05 июля 2011

Как один захват будет использовать ввод из HTML-формы и отображать его на другой странице JSP, используя пользовательский тег JSP?просто как это?1013 *


Java-класс

package com.jjolt;

import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;

public class HelloTag extends BodyTagSupport 
{
  private String[] username=null;
  public int doStartTag()
  {
    username = (String[]) pageContext.getAttribute("username");
    return EVAL_BODY_INCLUDE;
  }
  public int doEndTag() throws JspException 
  {
    JspWriter out = pageContext.getOut();
    try 
    {
        out.println("Hello "+username[0]);
    } 
    catch (Exception e) 
    {
    }
     return SKIP_BODY;
  }
}

1 Ответ

1 голос
/ 07 июля 2011

Я думаю, вы неправильно поняли, как работают пользовательские теги, сначала вам нужно отправить форму, только после этого вы сможете получить доступ к содержимому полей ввода пользователя.

Так что для вашего примера вы должны иметь это:

form.jsp

<%@ taglib uri="/myTLD" prefix="mytag"%>
<html>
  <title>My Custom Tags</title>
  <body>
    <form method="post" action="index.jsp">
    Insert you first name <br />
    <input type="text" name="username" />
    <input type="submit" value="Done" />
    </form>  
    <!-- removed tag from here -->
  </body>
</html>

index.jsp

<%@ taglib uri="/myTLD" prefix="mytag"%>
<html>
  <title>My Custom Tags Result</title>
  <body>
    <mytag:hello username="${param['username']}"/>
  </body>
</html>

И это должно работать сейчас.

...