JSP将var传递给脚本

时间:2013-06-24 11:09:50

标签: jsp

我需要在我的jsp中传递一些var ...我在javascript中获取我的servlet到我的函数的值...这可能吗?我通过了我的代码:

            <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
           <html>
            <head>
           <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
             <script type="text/javascript" src="js/lib/ext-all.js"></script>
            <link rel="stylesheet" type="text/css" href="resources/css/ext-all-gray.css"/>
            <link rel="stylesheet" type="text/css" href="resources/css/EstiloPrincipal.css"/>
            <title>Tipo Papel</title>
             <script>


            Ext.require([
'Ext.form.*',
'Ext.form.field.File',
'Ext.layout.container.Column',
'Ext.window.MessageBox',
'Ext.fx.target.Element',
'Ext.panel.*',
'Ext.toolbar.*',
'Ext.button.*',
'Ext.container.ButtonGroup',
'Ext.layout.container.Table',
'Ext.tip.QuickTipManager'
   ]);

     Ext.onReady(function() {
Ext.QuickTips.init();


    var modificarRegistro = function(){



    Ext.Ajax.request({
        url: 'http://localhost:8080/MyMaver/ServletTipoPapel',
        //url: 'http://lnxntf05:8080/MyMaver/ServletTipoPapel',
        method: 'POST',
        params: {




            Funcionalidad: 'Modificar',
            DPTipoPapel: Ext.getCmp('DPTipoPapel').getValue(),
            DPIndicadorSoD: Ext.getCmp('DPIndicadorSoD').getValue(),
            DPCaratula: Ext.getCmp('DPCaratula').getValue(),
            DPFinicial:Ext.getCmp('DPFinicial').getValue(),
            DPVinicial:Ext.getCmp('DPVinicial').getValue(),
            DPFfinal:Ext.getCmp('DPFfinal').getValue(),
            DPVfinal: Ext.getCmp('DPVfinal').getValue(),
            DPVersCaratula: Ext.getCmp('DPVersCaratula').getValue(),
            DPSpool: Ext.getCmp('DPSpool').getValue(),
            DPTamPapel: Ext.getCmp('DPTamPapel').getValue(),
            DPNumOptimo: Ext.getCmp('DPNumOptimo').getValue(),
            DPFormularioCaratula: Ext.getCmp('DPFormularioCaratula').getValue(),
            DPDescripcion: Ext.getCmp('DPDescripcion').getValue(),
            DPTipoTrabajo: Ext.getCmp('DPTipoTrabajo').getValue(),

            Entorno:  Ext.getCmp('Entorno').getValue()
        },
        success: function(response){

            var text = response.responseText;
            alert("ha modificado un registro de la tabla tipo papel");
            // process server response here
            respuestaModificacion(text);

        },
        failure:  function (){
            alert("Desde failure");
        },
        exception: function (){
            alert("Desde exception");
        }
    });
};

  var top = Ext.widget({
    xtype: 'form',
    id: 'multiColumnForm',
    collapsible: true,
    frame: true,
    //renderer:contenedor,
    title: 'TIPOS DE PAPEL - MANTENIMIENTO',
    bodyPadding: '0 0 0',
    width: '80%',
    //height: 800,
    fieldDefaults: {
        labelAlign: 'side',
        msgTarget: 'side'
    },
    items: [cabeceraPrueba,customGroup,
    simpleCombo,mensajesPrueba],


    buttons: [{
        text: 'Altas',
        id:'botonAlta',
        handler: function() {
            altaTipoPapel();
        }
    },{
        text: 'Alta Masiva',
        id: 'botonAltaMasiva',
        hidden: true,
        handler: function() {
            this.up('form').getForm().isValid();
        }
    },{
        text: 'Consulta',
        disabled: true,
        id:'botonConsulta',
        handler: function() {

            consultarTipoPapel();
        }
    },{
        text: 'Modificar',
        disabled: true,
        id:'botonModificar',
        handler: function() {
            modificarRegistro();
        }
    },{
          text: 'Bajas',
          disabled: true,
          id:'botonBaja',
          handler: function() {
            bajaTipoPapel();
        }
    },{
        text: 'Limpiar',
        handler: function() {
            limpiarCampos();
        }
    },{
        text: 'Histórico',
        hidden: true,
        handler: function() {
            this.up('form').getForm().reset();
        }
    }]
});

top.render(document.body);

});
  </head>
  <body leftmargin="3" topmargin="3" marginwidth="0" marginheight="0"
bottommargin="0">
    <form name="form1" action="/MyMaver/GestorPeticiones" method="post"  enctype="multipart/form-data">
        <div id="campos"></div>
    </form>
<%String name = (String)request.getAttribute("usuario"); %>
<%= name%>
    </body>
    </html>

我想将var“usuario”传递给我的脚本代码....这可能吗?

2 个答案:

答案 0 :(得分:1)

JSP生成HTML代码。 JS是生成的HTML代码的一部分。只需编写JSP代码,就能生成所需的HTML / JS代码。

例如,

<script>
    var usuario = "${usuario}";
</script>

现在在浏览器中打开JSP页面并右键单击查看源,并确认JSP是否已在生成的结果中正确内联EL变量,以便生成的JavaScript代码语法有效(即引号,分号等):

<script>
    var usuario = "Some User Name";
</script>

注意:请不要忘记将JS escaping考虑​​在内,例如自定义EL功能。如果用户名包含双引号,它将会中断。另请注意, scriptlets <% %>是一种古老的编写JSP的方式,并且已经超过十年了discouraged。如上所示,只需使用EL即可。 ${foo}打印在页面,请求,会话和应用程序范围中找到的名为"foo"的第一个非null属性。

答案 1 :(得分:0)

是的,是......

<%String name = (String)request.getAttribute("usuario"); %>
var usuario = '<%=name%>';