Como cambiar una propiedad html dependiendo del valor de un perfil recogido de clase java – javascript jquery html

Pregunta:


Tengo una caja de texto en la que me gustaría poder escribir o no dependiendo del perfil que utilice la aplicación. Esta caja de texto se encuentra en código html dentro de un .jsp y la comprobación de este perfil la hago en su action. ¿cómo podría hacer para que si el perfil es el deseado, pueda escribir en esa caja de texto y si no lo es no?

    <tr>
                <td>
                    <bean:message key="depen.insert.alas"/>
                </td>
                <td>
                    <html:text readonly="false" property="alas">
                    </html:text>
                </td>
            </tr>

Y en el action tengo que comprobar un perfil:

    String p = P.getP(request);

si es a, la propiedad será readonly si es b no, pero no se como enlazar estas cosas para hacer esto, se que no será muy difícil pero es la primera vez que lo hago.

Preguntado por: Javier GT

Javier GT

¿Tu caja de texto es un input o un testarea? En cualquier caso tienes la propiedad disabled que especifica si está habilitado o no.

<input type="text" name="name" disabled>
<textarea disabled>Loren ipsum dolor sit..</textarea>

En jsp creo que tienes la propiedad disabled y la propiedad readonly que aceptan un valor boleado.

<html:text readonly="true" disabled="true" ></html:text>

Puedes hacer una condición que compruebe el tipo de perfil y habilitarlo o no dependiendo de tus necesidades. Nunca he trabajado con jsp, pero creo que te funcionaría algo así.

var deshabitado = false
if (p === a) {
  deshabitado = true
} else {
  deshabitado = false
}
<html:text disabled="<%= deshabitado %>" ></html:text>

Como imaginaba era sencillo, solo que al no tener experiencia y no haber tocado esto nunca pasan estas cosas. En el mismo jsp importo la librería donde tengo el método con el que capturo el perfil:

    <%@ page import="java.util.*" %>
    <%@ page import="libreria.capturar.perfil.*"%>

esta es la forma de escribir código java en jsp e importar librerías, lo vamos a seguir viendo (me refiero a <% %>[no lo sabía]).

Ahora escribo el cambio que ha sufrido mi código al saber como escribir java en jsp y saber como capturar el perfil para hacer la condición:

    <tr>
        <td>
            <bean:message key="depen.insert.alas"/>
        </td>
        <td>
            <%String p = P.getP(request);
            if(p.equals("Admin")){%>
                  <html:text readonly="false" property="alas">
                  </html:text>
            <%}else{%>
                  <html:text readonly="true" property="alas">
                  </html:text>
            <%}%>
        </td>
    </tr>

Espero que le pueda servir a alguien perdido como yo de ayuda en el futuro.

Fuente

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *