小编Cro*_*ter的帖子

Java国际化(i18n)库/框架

我的组织即将开始其国际化(i16g?)其公司网站的漫长过程.该网站混合使用Java EE(JSP/Servlets,无EJB)和从(Documentum)WCM推送的静态内容.

虽然我有使用"内置"机制的经验,使用ResourceBundle's以及每个语言/区域设置的相关属性文件(包含"KEY = Translated value"方法),我们只需在我们想要的地方引用KEY值翻译的文字出现.

我的导演提到他在以前的组织中使用了不同的方法,他们使用了第三方库(他不记得实际名称),其中包括网页中的实际[英文]文本(以帮助开发人员)在运行时使用config xml文件中的已翻译内容替换.(谁知道这会是哪个图书馆?)

我感兴趣的是有什么其他方法/库/框架可以促进这一点.

谢谢

java internationalization java-ee

16
推荐指数
2
解决办法
1万
查看次数

Apache LocationMatch 正则表达式

我的问题

我需要有Apache HTTP Server (v2.4.10) 代理对Tomcat 的动态应用请求,这不仅与Tomcat 中的路径不匹配,而且彼此的路径也相似。例如:

/products/<category>/<sub-category>/<sub-sub-category>/<product-id>.html 代理: http://mycluster/pf/<product-id>.html

...并且...

/products/<category>/<sub-category>/<sub-sub-category>/<anything-not-ending-in-html> 代理: http://mycluster/search/<anything-not-ending-in-html>

我的尝试

我正在尝试使用 LocationMatch 正则表达式来处理这个问题,但并没有完全成功。以下 LocationMatch 正则表达式自行工作(将*.html请求代理到<tomcat>/pf/*.html):

<LocationMatch ^/products/(?<cat>.+)/(?<subcat>.+)/(?<subsubcat>.+)/(?<partnum>.+).html>
ProxyPass balancer://mycluster/pf/%{env:MATCH_PARTNUM}.html
ProxyPassReverse balancer://mycluster/pf/%{env:MATCH_PARTNUM}.html
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)

这使用以下示例路径传递 URL:(/products/aaa/bbb/ccc/ddd3456.html这是正确的)

但是,当我还启用下面的正则表达式时:

<LocationMatch ^(?!.*\.html$)/products/(?<cat>.+)/(?<subcat>.+)/(?<subsubcat>.+)((/?)|(./*))$>
ProxyPass balancer://mycluster/search/
ProxyPassReverse balancer://mycluster/search/
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)

尝试访问/products/aaa/bbb/ccc/404 页面中的结果。在这里,我期待对“/products/aaa/bbb/ccc/”的任何不以 .html 结尾的请求传递给 /search/(包括要包含的任何后续路径信息:例如 .../search/相比 )

我的问题

我无法完全弄清楚出了什么问题。根据Rubular提供的正则表达式是正确的:

我在这里缺少什么?

我很感激任何关于解决这个问题的建议!

regex apache proxy mod-proxy locationmatch

5
推荐指数
1
解决办法
4万
查看次数