Java Spring消息-是否有方法在webapp上输出键而不是值?

Java Spring消息-是否有方法在webapp上输出键而不是值?,java,html,debugging,spring-mvc,Java,Html,Debugging,Spring Mvc,我想知道是否有办法调试webapp上呈现的资源包 示例属性文件 page.header1=Welcome page 示例HTML页面 <h1><spring:message code="page.header1" /> </h1> 所以默认情况下我们会看到 <h1>Welcome page</h1> 欢迎页面 是否有一种方法,最好是通过查询字符串参数,在这种方法中,我们可以关闭键的值处理,并可能呈现键 范例 <h1&g

我想知道是否有办法调试webapp上呈现的资源包

示例属性文件

page.header1=Welcome page
示例HTML页面

<h1><spring:message code="page.header1" /> </h1>

所以默认情况下我们会看到

<h1>Welcome page</h1>
欢迎页面
是否有一种方法,最好是通过查询字符串参数,在这种方法中,我们可以关闭键的值处理,并可能呈现键

范例

<h1>page.header1</h1>
page.header1

我们的想法是让非技术人员查看网站,我们希望让他们可以选择在关键字名称和值之间切换。

Spring Framework标记库没有这样的功能。但通过扩展Spring的自定义标记,您可以添加此功能。 给出了一个工作示例

在此示例中,仅当查询参数
messagekeys
http://localhost:8080/homepage?messagekeys=enabled
已在请求中提供

以下是基本步骤

创建一个自定义标记,扩展Spring的

src/main/resources/META-INF/common.tld下创建一个(我假设您使用的是maven作为构建工具)。
它包含一个名为
message
的标记,它是spring.tld中消息标记的副本(随spring-webmvc.x.x.x.x.jar一起提供)。只有标记类根据自定义实现类进行了更改

<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
        version="2.1">

    <tlib-version>1.0</tlib-version>
    <short-name>common</short-name>
    <uri>http://sandbox.local/common.tld</uri>

    <tag>
        <name>message</name>
        <tag-class>taglib.SwitchableMessageTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <name>message</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>code</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>arguments</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>argumentSeparator</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>text</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>var</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>scope</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>htmlEscape</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>javaScriptEscape</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>
</taglib>

1
常见的
http://sandbox.local/common.tld
消息
taglib.SwitchableMessageTag
JSP

我从来没有抽出时间来测试这个,它对我们的项目不实用。我接受的答案是为了验证它不是一个功能。非常感谢
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
        version="2.1">

    <tlib-version>1.0</tlib-version>
    <short-name>common</short-name>
    <uri>http://sandbox.local/common.tld</uri>

    <tag>
        <name>message</name>
        <tag-class>taglib.SwitchableMessageTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <name>message</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>code</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>arguments</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>argumentSeparator</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>text</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>var</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>scope</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>htmlEscape</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>javaScriptEscape</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>
</taglib>
<%@ taglib uri="http://sandbox.local/common.tld" prefix="common" %>

<a href="product/edit.do"><common:message code="add.product" /></a>