如何使用 CLI 脚本将 undertow 子系统中的默认编码设置为 utf-8?

How to set default-encoding in undertow subsystem as utf-8 with a CLI script?

我是 运行 WildFly10 应用服务器。现在我注意到,当我将 standalone.xml 配置文件中的默认编码更改为 utf-8 时,更改会在服务器重新启动时被删除。

然后我读到我应该使用 CLI 脚本。现在,我该怎么做?什么形式的 CLI 脚本会将属性 default-encoding="UTF-8" 添加到 undertow 子系统中,如下所示:

这是standalone.xml未修改的部分:

    <subsystem xmlns="urn:jboss:domain:undertow:3.0">
        <buffer-cache name="default"/>
        <server name="default-server">
            <http-listener name="default" socket-binding="http" redirect-socket="http"/>
            <host name="default-host" alias="localhost">
                <location name="/" handler="welcome-content"/>
                <filter-ref name="server-header"/>
                <filter-ref name="x-powered-by-header"/>
            </host>
        </server>
        <servlet-container name="default">
            <jsp-config/>
            <websockets/>
        </servlet-container>
        <handlers>
            <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
        </handlers>
        <filters>
            <response-header name="server-header" header-name="Server" header-value="WildFly/10"/>
            <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
        </filters>
    </subsystem>

这里修改了,因为我希望它是 并在 standalone.xml 中保留 :

<subsystem xmlns="urn:jboss:domain:undertow:3.0">
            <buffer-cache name="default"/>
            <server name="default-server">
                <http-listener name="default" socket-binding="http" redirect-socket="https"/>
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <filter-ref name="server-header"/>
                    <filter-ref name="x-powered-by-header"/>
                </host>
            </server>
            <servlet-container name="default" default-encoding="UTF-8">
                <jsp-config/>
                <websockets/>
            </servlet-container>
            <handlers>
                <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
            </handlers>
            <filters>
                <response-header name="server-header" header-name="Server" header-value="WildFly/10"/>
                <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
            </filters>
        </subsystem>

所以这里唯一改变的是在<servlet-container>标签中添加的default-encoding="utf-8"属性。如何通过 CLI 脚本添加它?谢谢。

运行 对 servlet 容器资源的写属性操作

/subsystem=undertow/servlet-container=default:write-attribute(name="default-encoding", value="utf-8")