【问题标题】:Add customized attribute to <c:out> tag in JSP将自定义属性添加到 JSP 中的 <c:out> 标记
【发布时间】:2012-06-19 06:06:08
【问题描述】:

我是 JSP 新手,所以在使用 JSP 标签显示一些消息时遇到了问题。
我想按照以下约定显示这些消息:如果文本的长度等于或小于 50,那么它将显示整个文本内容,否则只显示前 50 个字符并将“...”附加到其尾部。
我正在考虑添加一个属性(称为 maxDisplayChars,类型为整数)来执行此操作的解决方案。如果指定了此属性,则将执行显示约定,如果没有,则默认行为将保持为默认值。这个附加属性将帮助我减少代码更改,只需查看应用程序的哪个部分需要应用此规则并“插入”此属性。
您认为这种解决方案可行吗?如果是,那么如何实现它(对不起,我只是 JSP 和 JSTL 的新手-_-),如果否,还有其他方法可以解决这个问题吗?
非常感谢。

【问题讨论】:

    标签: jsp jstl jsp-tags


    【解决方案1】:

    你有三个合理的选择:

    1. 使用 JSP 自定义标记缩短 (brief intro)
    2. 在数据到达您的 JSP 之前缩短数据
    3. 在客户端使用 JavaScript,例如使用jQuery truncator

    各有优缺点。


    自定义标签

    (也可以在 Java 中,但 ew。)易于实现,允许使用来自 JSP 的参数选择大小,可以包含您想要的任何选项,包括与 JS 相关的选项(参见 #3)。

    在 JSP 之前缩短

    最大的缺点是您在后端代码中选择长度,而更改意味着重新编译和部署。例如,您可以将文本切成 40 个字符。

    使用 JavaScript

    最灵活。如果您要缩小巨大的字符串,可能不是最佳选择,在这种情况下,我会考虑自定义标签和 JS 的组合。

    不错的是,您可以使用其他人的代码执行诸如将文本的其余部分(截断部分)放入悬停触发的弹出窗口之类的操作。您也可以在自定义标签中使用相同的 JS,从而获得非常强大的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 2011-06-27
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多