1.前两天写了一个登录页,这个登录页涉及前后台参数传递、重定向和转发等操作,
大致的思路是用户输入地址,跳到登录页,在登录页登录用户密码,这时跳到loginJudge方法,在这个方法里面判断该用户包含几个机构和几个科室,
(1)如果有一个机构和一个科室,这时跳到一个转发的jsp页面,页面中包括需要传到login的参数,直接传递到login接口,在login方法中设置session,获取用户角色等操作,最后跳到index主界面。
(2)如果有一个机构和多个科室,这时在后台获取所需参数,放到model中,传递到前台login中,并在login页面弹出个弹窗,提示选择哪个科室,点击对应科室(传参为url,user),跳到后台login接口,在login方法中设置session,获取用户角色等操作,最后跳到index主界面。
(3)如果有多个机构和一个科室,这时在后台获取所需参数,放到model中,传递到前台login中,并在login页面弹出个机构弹窗,提示选择哪个机构,点击对应机构(传参为url,user),跳到后台login接口,在login方法中设置session,获取用户角色等操作,最后跳到index主界面。
(4)如果有多个机构和多个科室,这时在后台获取所需参数,放到model中,传递到前台login中,并在login页面弹出个机构弹窗,提示选择哪个机构,点击对应机构,根据选择机构再次弹窗,弹出机构对应的科室,再次点击科室按钮(传参为url,user),跳到后台login接口,在login方法中设置session,获取用户角色等操作,最后跳到index主界面。
弹出框的内容数据采用拼接字符串的方法实现,后天传到前台的参数采用json格式,此时传到前台参数为字符串,然后在前台中json.parse()转换为json对象。
下面为代码展示:
var html = "";
for (var i = 0; i < abc.length; i++) {
html += "<tr align='center'>"
+ '<td style="font-size: 15px;">'
+ abc[i].map1.keshiName
+ '</td>'
+ '<td>'
+ '<form method="post" action="' + oneUrl + '">'
+ '<button class="keshiCaozuo ui green button" onclick="$(this).submit();" style="font-size: 15px;">选 择</button>'
+ '</form>' + '</td>'
+ '</tr>';
}
$("#tanchu").find("tbody").append(html);
<div class="ui container">
<div class="ui modal tiny" id="tanchu" style="">
<div class="content">
<table class="ui celled table">
<thead>
<tr align="center">
<th style="font-size: 17px;">机构名称</th>
<th style="width: 40px;font-size: 17px;">操 作</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
var listAll = '${listAll}';
var json = "";
var organMap = "";
if(listAll != ''){
json = JSON.parse(listAll);
organMap = {};
for (var i = 0; i < json.length; i++) {
var data = json[i];
var d= data.aa.bb;
organMap[d] = data.cc;
}
}
for循环中有多个id和class时,可以将每个class后放一个i进行class区分。
foreach循环中有多个id和class时,可以使用foreach自带的index索引进行class和id区分。
button点击事件:
<button class="tt" onclick="$(this).submit();" style="font-size: 15px;">选 择</button>
onclick:点击事件
submit():提交form表单事件