作为字符串检索的 JSP 标签不被执行

发布于 2024-12-28 11:13:25 字数 684 浏览 1 评论 0原文

我有 Java 类,它负责渲染一些 html 元素,并且我们为它们创建了一些预定义的标签。

public class StartDateField {

private static StartDateField object;

private StartDateField(){}

public static StartDateField getInstance(){

    if(object == null){
        object = new StartDateField();
    }
    return object;
}

public String render(){
    String field = "<field:text name='first_name' size='65' maxlen='63' style='field' />";
    return field;
}

然后

我尝试在 JSP 标记内调用该渲染方法(该标记也导入到上面的类),

<td colspan="2">
<%=StartDateField.getInstance(SUBpagebean).render()%>
</td>

但它什么也不显示。当我查看源代码时,它显示返回的文本而不是执行标记。这是如何引起的以及如何解决?

I have Java class which is responsible for rendering some html elements and we have some predefined tags created for them.

public class StartDateField {

private static StartDateField object;

private StartDateField(){}

public static StartDateField getInstance(){

    if(object == null){
        object = new StartDateField();
    }
    return object;
}

public String render(){
    String field = "<field:text name='first_name' size='65' maxlen='63' style='field' />";
    return field;
}

}

Then I tried to call that render method inside the JSP tag (which also has import to above class)

<td colspan="2">
<%=StartDateField.getInstance(SUBpagebean).render()%>
</td>

But it displays nothing. When I go to view source it shows the returned text instead of executing the tag. How is this caused and how can I solve it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我很坚强 2025-01-04 11:13:25

<%= someExpression() %> 表示:计算 Java 表达式 someExpression(),并将其结果写入 HTTP 响应编写器。显然,您正在将 直接写入响应。

JSP 标记必须位于要评估的 JSP 的静态源代码中。

请注意,JSTL 是标准标签库。 是自定义 JSP 标记。它不是 JSTL 标签。

<%= someExpression() %> means: evaluate the Java expression someExpression(), and write its result to the HTTP response writer. So obviously, you're writing <field:text name='first_name' size='65' maxlen='63' style='field' /> directly to the response.

A JSP tag must be in the static source code of the JSP to be evaluated.

Note that JSTL is a standard library of tags. <field:text> is a custom JSP tag. It's not a JSTL tag.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文