如何向Liferay添加其他属性。
我不想覆盖现有属性。我想在现有属性
之上添加新属性我试过这种方式,但没有运气
<portlet>
<portlet-name>search</portlet-name>
<display-name>Search</display-name>
<portlet-class>org.springframework.web.portlet.DispatcherPortlet</portlet-class>
<init-param>
<name>contextConfigLocation</name>
<value>/WEB-INF/spring-config/search-portlet.xml</value>
</init-param>
<init-param>
<name>config-template</name>
<value>/WEB-INF/view/search/configuration.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
</supports>
<resource-bundle>Language</resource-bundle>
.............
</portlet>
I have placed Language.properties file under src/main/resources/
然而,当我尝试打印<liferay-ui:message key="test-lang-msg" />
时,我没有得到值
Language.properties文件
test-lang-msg=Testing Language Properties File
答案 0 :(得分:2)
您在portlet.xml中的条目不正确。
提供
<resource-bundle>resource.Language</resource-bundle>
HTH 此致
答案 1 :(得分:0)
检查出来:http://www.liferay.com/community/wiki/-/wiki/Main/Portlet+Localization+-+Outside+Liferay。
如果您仍然遇到问题,我建议使用简单的解决方案:创建一个语言挂钩(如此处所述http://www.liferay.com/documentation/liferay-portal/6.2/development/-/ai/override-a-language-properties-hook-liferay-portal-6-2-dev-guide-en),以便部署资源包。
答案 2 :(得分:0)
回答后,你应该添加&#34;资源包&#34;正确标记。但是,我们在创建Resource Bundle文件时也要小心。
创建&#34; 资源&#34;包含在 docroot / WEB-INF / src 中。在其中,创建一个名为 Language.properties 的新文件。之后,您就可以更新portlet.xml文件了。在下面找到我的portlet.xml的副本。注意我定义资源包标记值的方式:resource.Language
<?xml version="1.0"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0">
<portlet>
<portlet-name>birthday</portlet-name>
<display-name>Birthday</display-name>
<portlet-class>
com.test.exercise.customers.portlet.BirthdayPortlet
</portlet-class>
<init-param>
<name>view-template</name>
<value>/html/birthday/view.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
</supports>
<resource-bundle>resource.Language</resource-bundle>
<portlet-info>
<title>Birthday</title>
<short-title>Birthday</short-title>
<keywords></keywords>
</portlet-info>
<security-role-ref>
<role-name>administrator</role-name>
</security-role-ref>
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
</portlet-app>
&#34;资源包&#34;的位置标记在 portlet.xml 文件中也很重要。如果你检查../portlet-app_2_0.xsd,你可以找到一个&#34;序列&#34;用于定义portlet.xml文件中标记顺序的元素。确保&#34;资源包&#34;标签位于适当的位置。
我希望这可以帮助任何在本地化portlet时遇到同样问题的人。
答案 3 :(得分:0)
Maven portlet具有不同的文件夹结构,因此maven portlet的资源包的位置是不同的。资源包已经有一个名为 resources 的文件夹。将您的Language_en.properties直接放入此文件夹。
<resource-bundle>Language</resource-bundle>
然后在portlet.xml中声明资源包,如下所示:
<resource-bundle>resource.Language</resource-bundle>
它会自动在资源文件夹中搜索您的语言包。
如果您创建子文件夹(包),请使用&#34;。&#34;作为分隔符,例如{{1}}