Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将标签等放在属性文件中是否是一种反模式(与JSP和web开发相关)_Jsp_Jakarta Ee_Anti Patterns - Fatal编程技术网

将标签等放在属性文件中是否是一种反模式(与JSP和web开发相关)

将标签等放在属性文件中是否是一种反模式(与JSP和web开发相关),jsp,jakarta-ee,anti-patterns,Jsp,Jakarta Ee,Anti Patterns,我看到许多J2EE开发人员将标签放在属性文件中,但不使用不同的区域设置。因此,您会得到许多缺少的属性异常。最主要的是,这使得调试和读取JSP页面变得困难。因此,随着时间的推移,您有数千行属性文件,这些属性文件可能与JSP文件一起使用,也可能不与JSP文件一起使用 对我来说,这似乎是一个糟糕的设计,尤其是如果您不打算使用不同语言的属性文件,并且根据语言环境更改为英语或法语 我只是想知道您是否也有同样的感受,是否有J2EE/JSP反模式的列表或URL。在属性文件中放置标签绝对是一种好的做法。即使你现

我看到许多J2EE开发人员将标签放在属性文件中,但不使用不同的区域设置。因此,您会得到许多缺少的属性异常。最主要的是,这使得调试和读取JSP页面变得困难。因此,随着时间的推移,您有数千行属性文件,这些属性文件可能与JSP文件一起使用,也可能不与JSP文件一起使用

对我来说,这似乎是一个糟糕的设计,尤其是如果您不打算使用不同语言的属性文件,并且根据语言环境更改为英语或法语


我只是想知道您是否也有同样的感受,是否有J2EE/JSP反模式的列表或URL。

在属性文件中放置标签绝对是一种好的做法。即使你现在不打算国际化,这在将来也可能发生。它还可以帮助您在页面中使用一致的命名

我不知道你为什么会有财产例外。在大多数框架中,如果找不到用户区域设置的属性文件,系统将读取默认(英文)文件


您需要习惯于读取包含从外部属性文件读取的字段的JSP页面。这并不难,而且好处远远超过麻烦。

将内容与模板分离始终是一种好的做法。这样,您就不需要为每一次愚蠢的上下文更改/输入错误/打嗝重新构建、重新部署和/或重新启动整个过程。API(在JSTL和其他i18n/l10n标记库后面使用的标准API)足以在每次更改时动态重新加载资源文件(至少,如果您使用的是JDK1.6或更新版本,它已经)

此外,无论何时您想要使用i18n或想要从propertiesfile更改为数据库表或其他内容,都不需要更改模板来从中提取内容——如果以后再这样做,这会对您产生更大的影响

将模板中的内容和位置相互关联只需要一点工作,我可以想象这是开发人员/维护人员的主要担忧。我自己编写键,使它们大致匹配
pagename.parentid.elementtype.elementname.contenttype
(大致上,并非所有键都是必需的,但它给出了一个概念),这样就可以立即清楚地知道它属于哪里

例如,一个
home.login.label.username.tooltip
键,它指向一个
home.jsp
,带有:

<form id="login">
    <label for="username" title="${text['home.login.label.username.tooltip']}">

坚持这一惯例,你会发现维护这一切变得更加容易