如何在 Struts 2 中禁用 <s:textfield> 标签的标签

问题描述 投票:0回答:2

我在 Struts 2 中有以下标签:

<s:textfield type="text" key="maquina" label="" labelSeparator="" style="width:100;"/>

我想通过这个标签禁用标签,此时我的JSP代码如下所示:

   <table>
        <thead>
        <tr>

            <th>Hora</th>
            <th>Ruta</th>
            <th>Maquina</th>


        </tr>
        </thead>

        <tbody>
        <%int i=10;%>
        <s:iterator value="datosPlan" var="datosPlanLoading" status="valorDatosPlan">

            <%--//cambia de color la fila en la que se encuentra le cursor--%>
            <tr id="<%=i%>"
                    <%
                        if(i%2 == 0)
                        {
                    %>
                class="alt"
                style="background: #E1EEf4;color: #00557F;"
                onmouseover="destacarFila(this.id);"
                onmouseout="colorOriginalFila(this.id,0);"
                    <%
                    }
                    else
                    {   %>
                onmouseover="destacarFila(this.id);"
                onmouseout="colorOriginalFila(this.id,1);"
                    <%
                        }
                        i++;
                    %>
                    >
                <%--<input type="hidden" id="<%="editar"%>${listaHorariosLoading.codigoHorario}" value="${listaHorariosLoading.nombreHorario}">--%>

                 <td>
                    <p>
                        <s:property value="hora"/>
                    </p>
                </td>
                <td>
                    <p>
                        <s:property value="ruta"/>
                    </p>
                </td>
                <td>
                    <p>
                       <s:textfield type="text" name="maquina" style="width:100;"/>
                    </p>
                </td>

            </tr>

        </s:iterator>
        </tbody>

因此,我想禁用该标签,因为我只想拥有

<input>
标签。

jsp label struts2 struts-tags
2个回答
2
投票

如果你使用

key="maquina"
那么它会为你生成标签。

如果你使用

label=""
那么它会为你生成标签。

不要使用

key
,也不要使用
label
属性。

试试这个

 <s:textfield type="text" id="maquina" name="maquina" style="width:20;" />

输出:

 <input id="maquina" type="text" style="width:20;" value="" name="maquina">
 </input>

编辑:

如果使用

<td class="tdLabel"></td>

 将生成 
<s:form>

尝试使用html表单标签

<form>
而不是
<s:form>

例如

 <form action="someAction" method="get" >
  <s:textfield type="text" id="maquina" name="maquina" style="width:20;" />
 </form>

注:

如果你想使用标签,那么你需要在 freemarker 或自定义主题中实现模板。

教程1
教程2

struts.xml

 <constant name="struts.ui.theme" value="simple"/>

还将删除默认模板。


2
投票

因为我只想输入类型

只有当您使用配置为由标签使用的

simple
主题时,这才可能实现。

© www.soinside.com 2019 - 2024. All rights reserved.