spring mvc的查询怎么在打开页面的时候自动加载查询

「已注销」 2016-09-01 10:28:37
controller的代码如下:
@RequestMapping(value = "/selectList.do", method = RequestMethod.POST)
public String selectList(HttpSession session, @ModelAttribute("e") User e,HttpServletRequest request) throws Exception {
List list = userService.selectList(e);
request.setAttribute("list",list);
return "manage/user/selectList";
}
selecList.jsp中代码如下:
<%@ page import="com.liwc.liwcshop.web.bean.User" %>
<!-- END HEAD -->

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ include file="/manage/top.jsp"%>
<div class="page-container">
<div class="page-sidebar-wrapper">
<%@ include file="/manage/left.jsp"%>
</div>
<div class="page-content-wrapper">
<div class="page-content">
<%@ include file="/manage/save.jsp"%>
<%@ include file="/manage/theme.jsp"%>
<div id="main-content">
<form action="<%=basePath%>user/selectList.do" method="post" theme="simple">
<button method="<%=basePath%>user/selectList" class="btn btn-primary" id="btnSearch" class="btn btn-primary" table-id="dataTables-example" >
<i class="icon-search icon-white"></i> 查询

</button>

<a href="<%=basePath%>user/toAddUser.do" class="btn btn-primary">
<i class="icon-plus-sign icon-white"></i> 添加
</a>

<table class="table table-hover" id="datatable">
<tr style="background-color: #dff0d8">
<th style="display: none;">id</th>
<th>帐号</th>
<th>创建时间</th>
<th>权限</th>
<th>状态</th>
<th nowrap="nowrap">操作</th>
</tr>
<c:forEach var="code" items="${requestScope.list}">
<tr>
<th style="display: none;">${code.id}</th>
<th>${code.username}</th>
<th>${code.createtime}</th>
<th>${code.role_name}</th>
<th>
<c:if test='${code.status=="y"}'><img src="<%=basePath%>resource/images/action_check.gif"></c:if>
<c:if test='${code.status=="n"}'><img src="<%=basePath%>resource/images/action_delete.gif"></c:if>
</th>
<th><a href="<%=basePath%>user/toUpdateUser.do?id=${code.id}">编辑</a>
<c:if test='${code.status=="y"}'>
<a href="<%=basePath%>user/updatestatus.do?id=${code.id}">禁用</a>
</c:if>
<c:if test='${code.status=="n"}'>
<a href="<%=basePath%>user/updatestatus.do?id=${code.id}">启用</a>
</c:if>
</th>
</tr>
</c:forEach>
</table>

</form>

</div>
</div>
</div>
</div>
<%@ include file="/manage/bottom.jsp"%>
</html>
我怎么使打开页面的时候,使得自动的从数据库中查询数据呢?
...全文
513 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2016-09-12
  • 打赏
  • 举报
回复
引用 6 楼 wlwlwlwl015 的回复:
[quote=引用 3 楼 feiwanglantian 的回复:] [quote=引用 2 楼 QQ233040940 的回复:] 页面上写个页面初始化事件,直接访问后台controller查询出来就可以了啊. 用jquery ajax吧
$(function(){ selectList(); }); function selectList(){ $.ajax({ url:'<%=request.getContextPath()%>/user/selectList.do', type:'post', async : false, //默认为true 异步 dataType:'json', error:function(){ alert('error'); }, success:function(data){ alert(data) } }); } 这么写是对的吗???为什么会弹出error呢?ajax部分还需要处理吗?[/quote] 写法差不多就是这样,在onload里面发送ajax查询数据,然后在ajax的success回调中渲染html,不要直接在js代码里面写jsp表达式,你定义一个全局的js变量用来存公共路径~ 或者直接用相对路径也可以~ 有错误的话看浏览器自带的调试工具~ F12看console提示的错误
function showListHtml(isInitPager) {
	$.ajax({
				url : url,
				type : 'post',
				data : GLOBL_PARAMOPTION,
				cache : false,
				success : function(data) {
					if (!data.success) {
						art.dialog.alert(data.message);
						return;
					} else {
						if (isInitPager) {
							initPagination(data.data.total);
						}
						var html = "";
						var list = data.data.list;
						if (null != list && list.length > 0) {
							for ( var i = 0; i < list.length; i++) {
								var seq = ((GLOBL_PARAMOPTION.pageIndex - 1)
										* GLOBL_PARAMOPTION.pageSize + (i + 1));
								var trClass = "";
								if (CONSTANT.striped && i % 2 == 1) {
									trClass = " class='bg_lightBlue'";
								}
								var logDetailStr = "<td> </td>";
								if(list[i].isWithDetail == 1){
									logDetailStr ="<td><a href='javascript:;' onclick='getLogDetail(\""
										+ list[i].logId
										+ "\")'><img src='"
										+ mainServer
										+ "/images/detail.png' height='20' title='详细' alt='详细' border='0'></a></td>";
								}
								html += "<tr"
										+ trClass
										+ ">"
										+ "<td class='fixed_width_sn right'>"
										+ seq
										+ "</td>"
										+ "<td>"
										+ list[i].loginName
										+ "</td>"
										+ "<td>"
										+ list[i].ipAddr
										+ "</td>"
										+ "<td>"
										+ list[i].operTime
										+ "</td>"
										+ "<td class='left'>"
										+ list[i].operDesc
										+ "</td>"
										+ logDetailStr
										+ "</tr>";
							}
						} else {
							html = "<tr><td colspan='8'><font color='red'>" + CONSTANT.listDataEmpty + "</font></td></tr>";
						}
						$("#tbody").html(html);
					}
				}
			});
}
[/quote] 要是我不使用ajax向后台发送数据,而是从controller中直接返回json,应该怎样写呢?
「已注销」 2016-09-02
  • 打赏
  • 举报
回复
引用 2 楼 QQ233040940 的回复:
页面上写个页面初始化事件,直接访问后台controller查询出来就可以了啊. 用jquery ajax吧
$(function(){ selectList(); }); function selectList(){ $.ajax({ url:'<%=request.getContextPath()%>/user/selectList.do', type:'post', async : false, //默认为true 异步 dataType:'json', error:function(){ alert('error'); }, success:function(data){ alert(data) } }); } 这么写是对的吗???为什么会弹出error呢?ajax部分还需要处理吗?
技术控_ 2016-09-02
  • 打赏
  • 举报
回复
页面上写个页面初始化事件,直接访问后台controller查询出来就可以了啊. 用jquery ajax吧
「已注销」 2016-09-02
  • 打赏
  • 举报
回复
引用 6 楼 wlwlwlwl015 的回复:
[quote=引用 3 楼 feiwanglantian 的回复:] [quote=引用 2 楼 QQ233040940 的回复:] 页面上写个页面初始化事件,直接访问后台controller查询出来就可以了啊. 用jquery ajax吧
$(function(){ selectList(); }); function selectList(){ $.ajax({ url:'<%=request.getContextPath()%>/user/selectList.do', type:'post', async : false, //默认为true 异步 dataType:'json', error:function(){ alert('error'); }, success:function(data){ alert(data) } }); } 这么写是对的吗???为什么会弹出error呢?ajax部分还需要处理吗?[/quote] 写法差不多就是这样,在onload里面发送ajax查询数据,然后在ajax的success回调中渲染html,不要直接在js代码里面写jsp表达式,你定义一个全局的js变量用来存公共路径~ 或者直接用相对路径也可以~ 有错误的话看浏览器自带的调试工具~ F12看console提示的错误
function showListHtml(isInitPager) {
	$.ajax({
				url : url,
				type : 'post',
				data : GLOBL_PARAMOPTION,
				cache : false,
				success : function(data) {
					if (!data.success) {
						art.dialog.alert(data.message);
						return;
					} else {
						if (isInitPager) {
							initPagination(data.data.total);
						}
						var html = "";
						var list = data.data.list;
						if (null != list && list.length > 0) {
							for ( var i = 0; i < list.length; i++) {
								var seq = ((GLOBL_PARAMOPTION.pageIndex - 1)
										* GLOBL_PARAMOPTION.pageSize + (i + 1));
								var trClass = "";
								if (CONSTANT.striped && i % 2 == 1) {
									trClass = " class='bg_lightBlue'";
								}
								var logDetailStr = "<td> </td>";
								if(list[i].isWithDetail == 1){
									logDetailStr ="<td><a href='javascript:;' onclick='getLogDetail(\""
										+ list[i].logId
										+ "\")'><img src='"
										+ mainServer
										+ "/images/detail.png' height='20' title='详细' alt='详细' border='0'></a></td>";
								}
								html += "<tr"
										+ trClass
										+ ">"
										+ "<td class='fixed_width_sn right'>"
										+ seq
										+ "</td>"
										+ "<td>"
										+ list[i].loginName
										+ "</td>"
										+ "<td>"
										+ list[i].ipAddr
										+ "</td>"
										+ "<td>"
										+ list[i].operTime
										+ "</td>"
										+ "<td class='left'>"
										+ list[i].operDesc
										+ "</td>"
										+ logDetailStr
										+ "</tr>";
							}
						} else {
							html = "<tr><td colspan='8'><font color='red'>" + CONSTANT.listDataEmpty + "</font></td></tr>";
						}
						$("#tbody").html(html);
					}
				}
			});
}
[/quote] 页面我要不拼接呢??该怎么写?
小灯光环 2016-09-02
  • 打赏
  • 举报
回复
引用 3 楼 feiwanglantian 的回复:
[quote=引用 2 楼 QQ233040940 的回复:]
页面上写个页面初始化事件,直接访问后台controller查询出来就可以了啊. 用jquery ajax吧

$(function(){
selectList();
});
function selectList(){
$.ajax({
url:'<%=request.getContextPath()%>/user/selectList.do',
type:'post',
async : false, //默认为true 异步
dataType:'json',
error:function(){
alert('error');
},
success:function(data){
alert(data)
}
});
}
这么写是对的吗???为什么会弹出error呢?ajax部分还需要处理吗?[/quote]
写法差不多就是这样,在onload里面发送ajax查询数据,然后在ajax的success回调中渲染html,不要直接在js代码里面写jsp表达式,你定义一个全局的js变量用来存公共路径~ 或者直接用相对路径也可以~ 有错误的话看浏览器自带的调试工具~ F12看console提示的错误
function showListHtml(isInitPager) {
$.ajax({
url : url,
type : 'post',
data : GLOBL_PARAMOPTION,
cache : false,
success : function(data) {
if (!data.success) {
art.dialog.alert(data.message);
return;
} else {
if (isInitPager) {
initPagination(data.data.total);
}
var html = "";
var list = data.data.list;
if (null != list && list.length > 0) {
for ( var i = 0; i < list.length; i++) {
var seq = ((GLOBL_PARAMOPTION.pageIndex - 1)
* GLOBL_PARAMOPTION.pageSize + (i + 1));
var trClass = "";
if (CONSTANT.striped && i % 2 == 1) {
trClass = " class='bg_lightBlue'";
}
var logDetailStr = "<td> </td>";
if(list[i].isWithDetail == 1){
logDetailStr ="<td><a href='javascript:;' onclick='getLogDetail(\""
+ list[i].logId
+ "\")'><img src='"
+ mainServer
+ "/images/detail.png' height='20' title='详细' alt='详细' border='0'></a></td>";
}
html += "<tr"
+ trClass
+ ">"
+ "<td class='fixed_width_sn right'>"
+ seq
+ "</td>"
+ "<td>"
+ list[i].loginName
+ "</td>"
+ "<td>"
+ list[i].ipAddr
+ "</td>"
+ "<td>"
+ list[i].operTime
+ "</td>"
+ "<td class='left'>"
+ list[i].operDesc
+ "</td>"
+ logDetailStr
+ "</tr>";
}
} else {
html = "<tr><td colspan='8'><font color='red'>" + CONSTANT.listDataEmpty + "</font></td></tr>";
}
$("#tbody").html(html);
}
}
});
}
xiashany 2016-09-02
  • 打赏
  • 举报
回复
你@ModelAttribute("e") User e这个也要在当前页面或得???
可爱的小祺祺 2016-09-02
  • 打赏
  • 举报
回复
引用 3 楼 feiwanglantian 的回复:
[quote=引用 2 楼 QQ233040940 的回复:] 页面上写个页面初始化事件,直接访问后台controller查询出来就可以了啊. 用jquery ajax吧
$(function(){ selectList(); }); function selectList(){ $.ajax({ url:'<%=request.getContextPath()%>/user/selectList.do', type:'post', async : false, //默认为true 异步 dataType:'json', error:function(){ alert('error'); }, success:function(data){ alert(data) } }); } 这么写是对的吗???为什么会弹出error呢?ajax部分还需要处理吗?[/quote] 后台controller的user/selectList.do这个方法打个断点跑跑看看
qq_20062767 2016-09-01
  • 打赏
  • 举报
回复
在页面中绑定一个onload事件,或者使用Jquery实现也可以,都很方便,提交一个异步请求,请求你的controller方法,返回数据到js中,然后组装一下数据,显示就行了。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧