在 hybris 中读取 jsp 中的 project.properties 文件
Reading of project.properties file in jsp in hybris
我的 project.properties 中有一把钥匙作为 userKey=value
我想使用 java 中的配置服务读取 jsp 中的值。有可能吗?
我尝试使用
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<spring:message code="label.username"/>
<spring:message code="label.password"/>
但失败并出现以下错误:
WARN [hybrisHTTP30] [DefaultCMSComponentRendererRegistry] Error
processing component tag. currentComponent
[MerchGenericMediaComponentModel (8800615040060@15)] exception:
javax.serv
Sep 14, 2017 2:31:16 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspTagException: No message found under code 'userKey' for locale 'en'.
at org.springframework.web.servlet.tags.MessageTag.doEndTag(MessageTag.java:200)
at org.apache.jsp.WEB_002dINF.views.mobile.cms.th.merchgenericmediacomponent_jsp._jspx_meth_spring_005fmessage_005f0(merchgenericmediacomponent_jsp.java:472)
at org.apache.jsp.WEB_002dINF.views.mobile.cms.th.merchgenericmediacomponent_jsp._jspService(merchgenericmediacomponent_jsp.java:130)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:747)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:603)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:542)
at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:160)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1257)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1037)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:980)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
您应该尝试将标签(在本例中为 userKey=value)放入 base.properties 文件(或 base_en.properties)而不是 project.properties
base.properties用于I18n,而
project.properties用于配置端口、构建环境、JVM选项等...
如果您真的只想设置一些语言属性,那么您绝对应该使用:
\web\webroot\WEB-INF\messages\base.properties
对于此配置。因此制作了这个文件。但是如果你有一些你想在你的 *.jsp 文件中使用的其他属性,你可以使用:
<spring:eval expression="T(de.hybris.platform.util.Config).getParameter('your.code')" var="myVar" scope="page" />
这会奏效。在 Jsp
中使用以下代码段,并将 'propertykey' 替换为您要从 local.properties
或 project.properties
.
中检索的代码段
${jalosession.tenant.config.getParameter('propertykey')}
我的 project.properties 中有一把钥匙作为 userKey=value
我想使用 java 中的配置服务读取 jsp 中的值。有可能吗?
我尝试使用
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<spring:message code="label.username"/>
<spring:message code="label.password"/>
但失败并出现以下错误:
WARN [hybrisHTTP30] [DefaultCMSComponentRendererRegistry] Error processing component tag. currentComponent [MerchGenericMediaComponentModel (8800615040060@15)] exception: javax.serv Sep 14, 2017 2:31:16 PM org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp threw exception javax.servlet.jsp.JspTagException: No message found under code 'userKey' for locale 'en'. at org.springframework.web.servlet.tags.MessageTag.doEndTag(MessageTag.java:200) at org.apache.jsp.WEB_002dINF.views.mobile.cms.th.merchgenericmediacomponent_jsp._jspx_meth_spring_005fmessage_005f0(merchgenericmediacomponent_jsp.java:472) at org.apache.jsp.WEB_002dINF.views.mobile.cms.th.merchgenericmediacomponent_jsp._jspService(merchgenericmediacomponent_jsp.java:130) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:747) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:603) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:542) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:160) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1257) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1037) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:980) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
您应该尝试将标签(在本例中为 userKey=value)放入 base.properties 文件(或 base_en.properties)而不是 project.properties
base.properties用于I18n,而
project.properties用于配置端口、构建环境、JVM选项等...
如果您真的只想设置一些语言属性,那么您绝对应该使用:
\web\webroot\WEB-INF\messages\base.properties
对于此配置。因此制作了这个文件。但是如果你有一些你想在你的 *.jsp 文件中使用的其他属性,你可以使用:
<spring:eval expression="T(de.hybris.platform.util.Config).getParameter('your.code')" var="myVar" scope="page" />
这会奏效。在 Jsp
中使用以下代码段,并将 'propertykey' 替换为您要从 local.properties
或 project.properties
.
${jalosession.tenant.config.getParameter('propertykey')}