Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中使用Spring安全用户名_Javascript_Jsp_Spring Security_Jstl_Dojo - Fatal编程技术网

如何在Javascript中使用Spring安全用户名

如何在Javascript中使用Spring安全用户名,javascript,jsp,spring-security,jstl,dojo,Javascript,Jsp,Spring Security,Jstl,Dojo,我试图在一些JavaScript中访问Spring源代码安全用户变量${username},它总是以空字符串的形式返回。在上一页中,我仅使用${username}显示用户名。据我所知,要在javascript中实现这一点,我需要做的就是: <c:out value="${username}"/> 但是在下面的代码中,生成的HTML总是有一个空字符串。我错过了什么 <%@ page session="false"%> <%@ taglib prefix="c"

我试图在一些JavaScript中访问Spring源代码安全用户变量${username},它总是以空字符串的形式返回。在上一页中,我仅使用${username}显示用户名。据我所知,要在javascript中实现这一点,我需要做的就是:

<c:out value="${username}"/>

但是在下面的代码中,生成的HTML总是有一个空字符串。我错过了什么

<%@ page session="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>The Admin Page</title>
<style type="text/css">

    .wideCols .field-radio { width: 5%; }
    .wideCols .field-username { width: 15%; }
    .wideCols .field-firstName { width: 15%; }
    .wideCols .field-lastName { width: 20%; }
    .wideCols .field-email { width: 40%; }
    .wideCols .field-enabled { width: 5%; }
</style>
</head>
<body>
    <h1>Users</h1>
    <spring:url value="/admin/addUser" var="accountUrl" />

    <a href="${accountUrl}">Add User</a> 
    <div id="result1"></div>

    <div id="grid" class="wideCols"></div>
    <!-- <button type="button" id="saveNode"></button>  -->


    <script type="text/javascript">
        require([ "dojo/store/JsonRest",
                  "dojo/_base/declare",
                  "dgrid/OnDemandGrid",
                  "dgrid/Selection", 
                  "dgrid/editor",
                  "dgrid/selector",
                  "dojo/domReady!" 
                ], function(JsonRest, declare, OnDemandGrid, Selection, editor, selector) {

            var userAccountStore = new JsonRest({
                idProperty : "userAccountId",
                target : "<c:url value="/userMgr/" />"
            });

            window.grid = new (declare([OnDemandGrid, Selection]))({                
                store : userAccountStore,           
                columns:  [ selector({ label: 'radio'}, "radio"),
                            { label: "Username", field: "username"}, 
                            { label: "First Name", field: "firstName"}, 
                            { label: "Last Name", field: "lastName"}, 
                            { label: "Email", field: "email"}, 
                            editor({ label: "Enabled", field: "enabled", autoSave: "true", canEdit: function(object){
                                return object.username != "<c:out value="${username}"/>";
                            }, }, "checkbox")],
            }, "grid"); 

        });

    </script>
</body>
</html>

管理页面
.wideCols.field无线电{宽度:5%;}
.wideCols.field用户名{宽度:15%;}
.wideCols.field firstName{宽度:15%;}
.wideCols.field lastName{宽度:20%;}
.wideCols.field电子邮件{宽度:40%;}
.wideCols.field已启用{宽度:5%;}
使用者
需要([“dojo/store/JsonRest”,
“dojo/_base/declare”,
“dgrid/OnDemandGrid”,
“dgrid/Selection”,
“dgrid/editor”,
“dgrid/selector”,
“dojo/domReady!”
],函数(JsonRest、declare、OnDemandGrid、Selection、editor、selector){
var userAccountStore=newjsonrest({
idProperty:“用户帐户ID”,
目标:“
});
window.grid=new(声明([OnDemandGrid,Selection])({
store:userAccountStore,
列:[选择器({label:'radio'},“radio”),
{标签:“用户名”,字段:“用户名”},
{标签:“名字”,字段:“名字”},
{标签:“姓氏”,字段:“姓氏”},
{标签:“电子邮件”,字段:“电子邮件”},
编辑器({label:“Enabled”,field:“Enabled”,autoSave:“true”,canEdit:函数(对象){
返回object.username!=“”;
},},“复选框”)],
}“网格”);
});

用户名不会自动添加到您的模型中。您需要在控制器中执行此操作,或者如果您没有访问控制器代码的权限,可以在Spring Security标记库中使用不推荐的方法:

<sec:authentication property="principal.username" />


有关更多信息,请参阅。

可以选择使用var属性作为