gpt4 book ai didi

java - JSP 自定义标签捕获用户输入

转载 作者:行者123 更新时间:2023-12-01 15:48:38 26 4
gpt4 key购买 nike

如何捕获 html 表单的使用输入并使用自定义 jsp 标记将其显示在另一个 jsp 页面中?像下面这样简单?

<小时/>

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>
<mytag:hello username="${param['username']}"/>
</body>
</html>
<小时/>

WEB.XML

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

<display-name>Hello</display-name>
<taglib>
<taglib-uri>/myTLD</taglib-uri>
<taglib-location>/WEB-INF/tld/taglib.tld</taglib-location>
</taglib>
</web-app>
<小时/>

顶级域名文件

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<jsp-version>1.1</jsp-version>
<tlibversion>1.0</tlibversion>
<shortname></shortname>
<tag>
<name>hello</name>
<tag-class>com.jjolt.HelloTag</tag-class>
<attribute>
<name>username</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
<小时/>

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;
}
}

最佳答案

我认为您误解了自定义标签的工作原理,您首先需要提交表单,只有在此之后您才能访问用户输入字段的内容。

因此,对于您的示例,您应该具有以下内容:

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>

现在应该可以工作了。

关于java - JSP 自定义标签捕获用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6581879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com