我正在尝试实现Spring安全功能以进行授权和身份验证.我正面临一些有关用户角色的问题.我希望在我的控制器中检查用户登录的角色,以便根据角色将用户重定向到相应的页面(因为用户可以有多个角色).但是,我没有在我的Java控制器中获得登录角色.
登录jsp页面
<form action="<c:url value='j_spring_security_check'/>"
method="POST" name='loginForm'>
<table class="center">
<tr><td>User Name: </td><td><input type="text" name="j_username" id="userName" ></td></tr>
<tr><td>Password: </td><td><input type="password" name="j_password" id="password"></td></tr>
<tr><td>Role: </td><td>
<select id="role" name="j_role">
<option style="font-weight: bold;">Select Roll </option>
<option id="role1" value="role1">Role 1</option>
<option id="role2" value="role2">Role 2 </option>
<option id="role3" value="role3">Role 3 </option>
</select></td></tr>
<tr><td><input type="submit" value="Login" style="height: 25px; width: 100px"></td><td><input type="reset" value="Reset" style="height: 25px; width: 100px"></td></tr>
<tr><td colspan=2> </td></tr>
<tr><td colspan=2></td></tr>
</table>
</form>
Run Code Online (Sandbox Code Playgroud)
控制器代码:
@RequestMapping(value="/home", method = RequestMethod.GET)
public ModelAndView printWelcome(ModelMap model, Principal principal ) throws SQLException { …Run Code Online (Sandbox Code Playgroud) 我正在获取子树名称,但我希望获得父节点名称的完整层次结构.
下面的代码显示了如何获取子节点并在特定的div元素中打印其值:
$(document).ready(function () {
$('#bdeViewNew').on('changed.jstree', function (e, data) {
var i, j, r = [];
for (i = 0, j = data.selected.length; i < j; i++) {
r.push(data.instance.get_node(data.selected[i]).text.trim());
$('#treeBreadCrumbs').html(r.join(', '));
}
});
});
Run Code Online (Sandbox Code Playgroud)
现在它打印子节点的值,例如Child a.但如果树结构如下所示,我想要如下所示:
Parent
Child 1
Child a
Child b
Child 2
Child c
Child d
Run Code Online (Sandbox Code Playgroud)
所以如果我点击Child a我希望我的div内容更新为
Parent > Child 1 > Child a
Run Code Online (Sandbox Code Playgroud)
截至目前我Child a只是得到了.请告诉我如何获得正确的输出.
我尝试如下所示,以获取所有父节点的路径:
$(document).ready(function() {
$('#bdeViewNew').on('changed.jstree', function(e, data) {
var ids = data.inst.get_path('#bdeViewNew' + data.rslt.obj.attr('id'),true);
var …Run Code Online (Sandbox Code Playgroud) 我有一个数据框df
df = pd.DataFrame({'A':['-a',1,'a'],
'B':['a',np.nan,'c'],
'ID':[1,2,2],
't':[pd.tslib.Timestamp.now(),pd.tslib.Timestamp.now(),
np.nan]})
Run Code Online (Sandbox Code Playgroud)
添加了新列
df['YearMonth'] = df['t'].map(lambda x: 100*x.year + x.month)
Run Code Online (Sandbox Code Playgroud)
现在,我想编写一个将进行日期比较的函数或宏,创建一个新的数据框,也向数据框添加一个新列。
我这样尝试过,但似乎我做错了:
def test(df,ym):
df_new=df
if(ym <= df['YearMonth']):
df_new+"_"+ym=df_new
return df_new+"_"+ym
df_new+"_"+ym['new_col']=ym
Run Code Online (Sandbox Code Playgroud)
现在,当我调用测试函数时,我希望创建一个名为的df_new_201612新数据框,并且此新数据框应再有一个列,该列的所有行的new_col值ym均为。
test(df,201612)
Run Code Online (Sandbox Code Playgroud)
新数据框的输出为:
df_new_201612
A B ID t YearMonth new_col
-a a 1 2016-12-05 12:37:56.374620 201612 201612
1 NaN 2 2016-12-05 12:37:56.374644 201208 201612
a c 2 nat nan 201612
Run Code Online (Sandbox Code Playgroud) java ×1
javascript ×1
jquery ×1
jstree ×1
numpy ×1
pandas ×1
python ×1
spring ×1
spring-mvc ×1