我只是被要求参与一个大型门户网站项目,并且已经查看了已建立的代码。我一直在jsps中找到这个:
<input class="portlet-form-button"
name="<%=ModifyUserProfile.FORM_FIRST_TIME_LOGIN_SUBMIT%>" type="submit" ...
作者使用类中定义的静态字符串来定义jsp表单中输入字段和按钮的名称。
我以前从未见过这样做,并且想知道这是否是常见做法。我倾向于不这么想,但我在问,因为除了集中我认为不可能改变的名字外,我看不出原因。
对此有何想法?
答案 0 :(得分:1)
正如您所确定的,此方法的优点是编译器确保页面中使用的标识符始终与Java代码中的标识符匹配(例如,读取提交字段的portlet processAction
方法)。更改String常量的值会自动更新视图。它还可以帮助识别String常量的用法。
缺点是它会产生非常丑陋的视图代码,我会尽可能避免使用scriptlet风格的代码。
我是否会改变这可能取决于代码的清洁度。如果字符串标识符混合了一堆其他常量,并且视图是千行脚本丛林,我可能会让他们独自一人。
由于这些是portlet,如果我对代码清洁感觉完全肛门,我会用EL函数命名输入名称。
答案 1 :(得分:0)
这种做法是对的。 就像你说的那样,它有助于集中消息。
另一个更有用的优势是国际化。你有多个属性文件,每个属性都是针对语言环境/语言的。使用特定于用户区域设置的那个,并且您可以在不更改jsp的情况下获得国际化消息。