2

我刚刚被要求处理一个大型门户项目,并且一直在查看已建立的代码。我一直在jsps中找到这个:

<input class="portlet-form-button"
    name="<%=ModifyUserProfile.FORM_FIRST_TIME_LOGIN_SUBMIT%>" type="submit" ...

作者使用类中定义的静态字符串来定义 jsp 表单中输入字段和按钮的名称。

我以前从未见过这样做,并且想知道这是否是常见做法。我倾向于不这么认为,但我之所以这么问,是因为除了集中我认为不太可能改变的名称之外,我看不出原因。

对此有什么想法吗?

4

2 回答 2

1

正如您所确定的,这种方法的优点是编译器确保页面中使用的标识符始终与 Java 代码中的标识符相匹配(例如processAction读取提交字段的 portlet 方法)。更改 String 常量的值会自动更新视图。它还可以帮助识别字符串常量的使用。

缺点是它会产生非常丑陋的视图代码,我会尽可能避免使用 scriptlet 样式的代码。

我是否会改变这可能取决于代码的清洁度。如果字符串标识符与一堆其他常量混合在一起,并且视图是千行脚本丛林,我可能会不理会它们。

由于这些是 portlet,如果我对代码的简洁性感到完全陌生,我会使用 EL 函数为该输入名称命名空间。

于 2010-05-17T08:29:21.053 回答
0

做法是对的。就像你说的,它有助于集中消息。

另一个更有用的优势是国际化。您有多个属性文件,每个属性文件都特定于语言环境/语言。使用特定于用户区域设置的一种,您可以在不更改 jsp 的情况下获得国际化消息。

于 2010-05-17T08:21:28.570 回答