【问题标题】:Reading of project.properties file in jsp in hybris在hybris的jsp中读取project.properties文件
【发布时间】:2018-02-23 13:12:08
【问题描述】:

我的 project.properties 中有一个密钥 userKey=value

我想通过在 java 中使用 configservice 来读取 jsp 中的值。有可能吗?

我尝试使用

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<spring:message code="label.username"/>
<spring:message code="label.password"/>

但失败并出现以下错误:

WARN [hybrisHTTP30] [DefaultCMSComponentRendererRegistry] 错误 处理组件标签。当前组件 [MerchGenericMediaComponentModel (8800615040060@15)] 异常: javax.serv 2017 年 9 月 14 日下午 2:31:16 org.apache.catalina.core.ApplicationDispatcher 调用 严重:servlet jsp 的 Servlet.service() 抛出异常 javax.servlet.jsp.JspTagException:在区域设置“en”的代码“userKey”下找不到消息。 在 org.springframework.web.servlet.tags.MessageTag.doEndTag(MessageTag.java:200) 在 org.apache.jsp.WEB_002dINF.views.mobile.cms.th.merchgenericmediacomponent_jsp._jspx_meth_spring_005fmessage_005f0(merchgenericmediacomponent_jsp.java:472) 在 org.apache.jsp.WEB_002dINF.views.mobile.cms.th.merchgenericmediacomponent_jsp._jspService(merchgenericmediacomponent_jsp.java:130) 在 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) 在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在 org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:747) 在 org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:603) 在 org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:542) 在 org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:160) 在 org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303) 在 org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1257) 在 org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1037) 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:980) 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)

【问题讨论】:

  • 正如dj_frunza 在答案中解释的那样,您应该使用base.properties

标签: java spring jsp spring-mvc hybris


【解决方案1】:

这会奏效。在Jsp 中使用下面的sn-p 并将“propertykey”替换为您要从local.propertiesproject.properties 检索的那个。

${jalosession.tenant.config.getParameter('propertykey')}

【讨论】:

    【解决方案2】:

    如果你真的只想设置一些语言属性,那么你应该明确地使用:

    \web\webroot\WEB-INF\messages\base.properties
    

    对于这个配置。因此制作了这个文件。但是,如果您想在 *.jsp 文件中使用其他一些属性,您可以使用:

    <spring:eval expression="T(de.hybris.platform.util.Config).getParameter('your.code')" var="myVar" scope="page" />
    

    【讨论】:

      【解决方案3】:

      您应该尝试将标签(在本例中为 userKey=value)放入 base.properties 文件(或 base_en. properties) 而不是 project.properties

      base.properties 用于 I18n,而

      project.properties 用于配置端口、构建环境、JVM 选项等...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-20
        • 2023-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多