ModelAndView对象
2016-05-30 09:00
876 查看
当控制器处理完请求时,通常会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherServlet。
因此,经常需要在控制器中构造ModelAndView对象。ModelAndView类提供了几个重载的构造器和一些方便的方法,
让你可以根据自己的喜好来构造ModelAndView对象。这些构造器和方法以类似的方式支持视图名称和视图对象。
当你只有一个模型属性要返回时,可以在构造器中指定该属性来构造ModelAndView对象
构建你的ModelAndView对象
@RequestMapping(value = "/list")
public ModelAndView list(Page page) {
logBefore(logger, "列表Info");
if (Jurisdiction.buttonJurisdiction(menuUrl, "cha") || Jurisdiction.buttonJurisdiction(fczsUrl, "cha")) {
ModelAndView mv = this.getModelAndView();
PageData pd = new PageData();
Subject currentUser = SecurityUtils.getSubject(); // shiro管理的session
Session session = currentUser.getSession();
User user = (User) session.getAttribute(Const.SESSION_USER);
List<PageData> varList = new ArrayList<PageData>();
try {
pd = this.getPageData();
String TITLE = pd.getString("TITLE");
if (null != TITLE && !"".equals(TITLE)) {
pd.put("TITLE", TITLE);
}
String STATE = pd.getString("STATE");
if (null != STATE && !"".equals(STATE)) {
pd.put("STATE", STATE);
}
if (user != null) {
if ("2".equals(user.getRole().getROLE_ID())||"1".equals(user.getUSER_ID())) {
page.setPd(pd);
varList = infoService.list(page); // 列出Info列表
}else{
if("1".equals(user.getMANAGER())){
String KEYW = user.getRole().getROLR_NUMBER();
pd.put("KEYW", KEYW);
page.setPd(pd);
varList = infoService.list(page); // 列出Info列表
}else{
pd.put("USER_ID", user.getUSER_ID());
page.setPd(pd);
varList = infoService.list(page); // 列出Info列表
}
}
mv.setViewName("weixin/info/infoAll");
mv.addObject("varList", varList);
mv.addObject("pd", pd);
mv.addObject(Const.SESSION_QX, this.getHC()); // 按钮权限
}
} catch (Exception e) {
logger.error(e.toString(), e);
}
return mv;
}else{
return null;
}
}
遍历集合可使用jstl表达式,需在jsp中引入头文件
[html] view
plaincopy
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
lib下导入jstl.jar和standard.ja
首先这两个jar在哪里可以找到,当然可以在网上下载。
另外在tomcat下面就有,在\webapps\examples\WEB-INF\lib下
前提是你还没有把webapps下面的一些无用项目删掉。
text.jsp
[html] v
<tr>
<td style="width:70px;text-align: right;padding-top: 13px;">作者:</td>
<td><input style="width:90%;" type="text" name="AUTHOR" id="AUTHOR" value="${pd.AUTHOR}" maxlength="32" placeholder="这里输入作者" title="作者"/></td>
</tr>
<tr style="display:none;" id="jiedaoshow">
<td style="width:70px;text-align: right;padding-top: 13px;">街道:</td>
<td>
<select name=jiedaoid id="jiedao" class="input_txt" title="街道" onChange="seleChange();">
<option value="">--请选择--</option>
<c:forEach items="${jiedaoList}" var="var" varStatus="vs">
<option value="${var.id}">${var.name}</option>
</c:forEach>
</select>
</td>
</tr>
因此,经常需要在控制器中构造ModelAndView对象。ModelAndView类提供了几个重载的构造器和一些方便的方法,
让你可以根据自己的喜好来构造ModelAndView对象。这些构造器和方法以类似的方式支持视图名称和视图对象。
当你只有一个模型属性要返回时,可以在构造器中指定该属性来构造ModelAndView对象
构建你的ModelAndView对象
@RequestMapping(value = "/list")
public ModelAndView list(Page page) {
logBefore(logger, "列表Info");
if (Jurisdiction.buttonJurisdiction(menuUrl, "cha") || Jurisdiction.buttonJurisdiction(fczsUrl, "cha")) {
ModelAndView mv = this.getModelAndView();
PageData pd = new PageData();
Subject currentUser = SecurityUtils.getSubject(); // shiro管理的session
Session session = currentUser.getSession();
User user = (User) session.getAttribute(Const.SESSION_USER);
List<PageData> varList = new ArrayList<PageData>();
try {
pd = this.getPageData();
String TITLE = pd.getString("TITLE");
if (null != TITLE && !"".equals(TITLE)) {
pd.put("TITLE", TITLE);
}
String STATE = pd.getString("STATE");
if (null != STATE && !"".equals(STATE)) {
pd.put("STATE", STATE);
}
if (user != null) {
if ("2".equals(user.getRole().getROLE_ID())||"1".equals(user.getUSER_ID())) {
page.setPd(pd);
varList = infoService.list(page); // 列出Info列表
}else{
if("1".equals(user.getMANAGER())){
String KEYW = user.getRole().getROLR_NUMBER();
pd.put("KEYW", KEYW);
page.setPd(pd);
varList = infoService.list(page); // 列出Info列表
}else{
pd.put("USER_ID", user.getUSER_ID());
page.setPd(pd);
varList = infoService.list(page); // 列出Info列表
}
}
mv.setViewName("weixin/info/infoAll");
mv.addObject("varList", varList);
mv.addObject("pd", pd);
mv.addObject(Const.SESSION_QX, this.getHC()); // 按钮权限
}
} catch (Exception e) {
logger.error(e.toString(), e);
}
return mv;
}else{
return null;
}
}
遍历集合可使用jstl表达式,需在jsp中引入头文件
[html] view
plaincopy
![](https://code.csdn.net/assets/CODE_ico.png)
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
lib下导入jstl.jar和standard.ja
首先这两个jar在哪里可以找到,当然可以在网上下载。
另外在tomcat下面就有,在\webapps\examples\WEB-INF\lib下
前提是你还没有把webapps下面的一些无用项目删掉。
text.jsp
[html] v
<tr>
<td style="width:70px;text-align: right;padding-top: 13px;">作者:</td>
<td><input style="width:90%;" type="text" name="AUTHOR" id="AUTHOR" value="${pd.AUTHOR}" maxlength="32" placeholder="这里输入作者" title="作者"/></td>
</tr>
<tr style="display:none;" id="jiedaoshow">
<td style="width:70px;text-align: right;padding-top: 13px;">街道:</td>
<td>
<select name=jiedaoid id="jiedao" class="input_txt" title="街道" onChange="seleChange();">
<option value="">--请选择--</option>
<c:forEach items="${jiedaoList}" var="var" varStatus="vs">
<option value="${var.id}">${var.name}</option>
</c:forEach>
</select>
</td>
</tr>
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树