如何在JSP中重用代码?

rip*_*234 4 java jsp

例如,用户将在整个应用程序中呈现为

<div class="user">
  <p class="username">${user.name}</p>
  <p class="karma">${user.karma}</p>
  <img src="/users/${user.id}"/>
</div>
Run Code Online (Sandbox Code Playgroud)

如何重用此代码块?

注意 - 我的代码在标记内运行,所以我不能为此(或任何JSP)使用标记,否则我会收到Scripting elements are disallowed here错误.

编辑

我正在尝试使用标记文件,但获取PropertyNotFoundException.

这是我的名为'user.tag'的标签文件:

<%@tag description="User" pageEncoding="UTF-8" %>

<a href="../user/showUser.do?userId=${user.id}">
    <p>${user.name}</p>
    <img class='avatar' src='${user.avatarUrl}' alt=""/>
</a>
Run Code Online (Sandbox Code Playgroud)

并在jsp中使用:

凡job.poster是一个Java bean用id,nameavatarUrl属性.如果我加

<%@attribute name="user" %>
Run Code Online (Sandbox Code Playgroud)

到标签文件,然后我得到一个例外

Property 'id' not found on type java.lang.String
Run Code Online (Sandbox Code Playgroud)

ffo*_*orw 6

从JSP 2.0开始,还有另一种标签:标签文件.标记文件是作为JSP模板本身编写的JSP自定义标记,这似乎是您想要的.

http://fforw.de/post/creating-jsp-layouts-with-page-tags/显示了如何使用这样的标记文件作为一般布局解决方案.使用它们作为组件应该更容易.