如何在页面上仅包含一次标签

发布于 2024-11-08 06:18:39 字数 325 浏览 0 评论 0原文

我已经实现了一些组件。我使用jsp自定义标签。但我已经实现了 2 个标签,这使得其他程序员将来很难使用它。如何改进我的代码以仅使用一个标签。我的标签是 .tag 文件。

下面是我需要的:

<c:foreach...
   <u:myTag1/>

<u:myTag2/>

我想显示可重复的 myTag1 并且仅显示一次 myTag2

拥有这样的东西会很好(没有 myTag2):

<c:foreach....
   <u:myTag1>

I have implemented some component. I used jsp custom tags. But I've implemented 2 tags which make hard to use this in the future by others programmers. How can I improve my code to use only one tag. My tags are .tag files.

Below is what I need:

<c:foreach...
   <u:myTag1/>

<u:myTag2/>

I want to display repeatable myTag1 and only once myTag2

It would be nice to have such things (without myTag2):

<c:foreach....
   <u:myTag1>

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

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

发布评论

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

评论(1

日久见人心 2024-11-15 06:18:39

如果您只想使用一个标签,那么您需要在 TLD 中创建一个新标签并实施另一个标签。希望您能够重构 Tag1 和 Tag2,将通用功能放在某个地方,例如 Helper 类或抽象类,这样 Tag1、Tag2 和 Tag1AndTag2 之间的重复就会最少。

或者,您可能想查看 JSP 片段或其他一些模板系统,因此页面可以包含常见的 JSP。但是,标签解决方案听起来更好 - 如果您确定提供第三种标签(组合其中两个)是要走的路。您可能决定只保留标签 1 和标签 2。

我假设您在这里只使用标准 JSP 标记。如果您使用 JSF 2,您可以查看复合组件或其他东西,这可能会减轻一些痛苦。

If you want to use only one tag then you're in the realms of creating a new tag in the TLD and implementing another Tag. Hopefully you should be able to refactor Tag1 and Tag2 to put common functionality somewhere e.g. Helper class or abstract class, so the duplication between Tag1, Tag2 and Tag1AndTag2 is minimal.

Alternatively you may want to look at JSP fragments or some other templating system, so pages can include the common JSP in. However, the tag solution sounds better - if you're sure that offering a third flavour of tag (combing two of them) is the way to go. You may make the decision to stay with just Tag1 and Tag2.

I'm assuming you're using just standard JSP tags here. If you were using JSF 2 you could look at composite components or something, which may save some pain.

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