最近在学习springMVC,用到了<form:select>标签,使用发过程中遇到了些问题,现在记录下,以防忘记。

我jsp页面是这样的:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> //使用之前要记得加
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'bookList.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript"
src="${pageContext.request.contextPath }/js/jquery-1.9.1.js"></script>
<style type="text/css">
table {
width: 80%;
height: auto;
border: 2px solid black;
}

body {
text-align: center;
}
</style>
<script type="text/javascript">
$(function(){
alert(${list});
});
</script>
</head>
<body>
<form:form action="" method="post" modelAttribute="books">//一开始没有添加这个属性,一直报错,“books” 是与controller中map添加的一个“books”的键值对相对应
<table class="btnTable" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td>书名</td>
<td><form:select id="name" path="name" >//"path"的值就是“books”的属性名
<form:options items="${booksQueryList }" itemLabel="name" itemValue="name"/>
</form:select></td>
<td>作者</td>
<td><form:select path="author" items="${booksQueryList}"
itemValue="author" itemLabel="author"></form:select></td>
<td>类型</td>
<td><form:select path="type" items="${booksQueryList}"
itemLabel="type" itemValue="type"></form:select></td>
<td >
<button type="button" action="booksQueryList">查询</button>
&nbsp&nbsp
<button type="reset" >清空</button>
</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<td>书名</td>
<td>类型</td>
<td>作者</td>
<td>剩余数量</td>
<td>被借次数</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<tr>
<c:forEach items="${ booksList}" var="b">
<td>${b.name }</td>
<td>${b.type }</td>
<td>${b.author }</td>
<td>${b.discount }</td>
<td>${b.haslended }</td>
<td><a href="#">编辑</a></td>
</c:forEach>
</tr>
</tbody>
</table>
</form:form>
</body>
</html>

我的controller是这样的:

@Controller
public class UserController {
@Autowired
private UserService service;
@Autowired
private BooksService booksService;
public UserService getService() {
return service;
}
public void setService(UserService service) {
this.service = service;
}
@RequestMapping(value="register")
public String register(String name,String password,Map<String, Object> params){
Users users=new Users();
users.setName(name);
users.setPassword(password);
users.setPoint(0);
users.setType(0);
users.setLevel(0);
service.save(users,params);
params.put("userName", name);
if(params.get("ErrMsg")!=null){
return "register";
}
return "reg_success";
}

@RequestMapping(value="login")
public String login(Users users,Map<String, Object> map){
Users users2 = service.findUsers(users);
if(users2==null){
map.put("ErrMsg","输入有误,请重新输入");
return "";
}
map.put("users", users2);
if(users2.getType()==1){
List<Books> booksList = booksService.findAllBooks();
map.put("booksQueryList", booksList);
map.put("books", new Books()); //这个“books”其实是new的一个Books对象,添加的目的应该就是为jsp中的“path”服务的
return "bookList";
}
return "log_success";
}
}

这是我的第一个操作记录博客,对于专业人员来说应该有很多错误和不足,希望热心的朋友批评指正,努力努力再努力!

<form:select>的使用的更多相关文章

  1. dijit.form.Select 基本用法

    dijit.form.Select 1)创建: var division = new dijit.form.Select({ id: "Division",//id必须唯一 nam ...

  2. dijit样式定制(二)dijit.form.Select与dijit.form.NumberSpinner

    dijit.form.Select: Select的样式位于Claro/form/Select.less中,Select主要通过table来布局,下图可以看到Select的布局结构 介绍几个主要的cl ...

  3. 关于<form:select>

    今天写基于SSM框架的程序,用到了<form:select>.由于一开始遇到了问题,所以在这里加以记录,供以后查看. 直接看jsp页面的代码 <%@ page language=&q ...

  4. form:select form:options 标签数据回显

    在jsp页面中经常会使用到 form:select form:options 遍历后台List集合生成 select 下拉选择器,但是 form:options 标签并没有提供一个可以回显数据的属性. ...

  5. <form:select>

    <form:select path="classification" class="input-medium"> <form:option v ...

  6. 前端 form select js处理

    1.代码如下 function initializeSelect(data) { var area = $("#ServiceName"); area.find("opt ...

  7. form:select的内容

    https://blog.csdn.net/ccclych1/article/details/88395650

  8. HTML:form表单总结,input,select,option,textarea,label

    <form>标签是块级元素. form标签的标准属性有id,class,style,title,lang,xml:lang. 表单能够包含input元素(包含button,checkbox ...

  9. select标签 禁止选择但又能通过序列化form表单传值到后台

    前言 项目开发中,我们可能会碰到这样的需求:select标签,禁止选择但又能通过序列化form表单传值到后台,但是当我们使用disabled="disabled"时发现,无法序列化 ...

随机推荐

  1. 企业IT架构介绍

    企业信息化之路 问题   互联互通   统一访问 统一身份管理 数据管理模型 企业数据集成业务架构 业务流程框架 业务流程模型 个性流程支持 跨业务的业务流程组合 EBS总线 ] SOA架构上视图 B ...

  2. Css3新特性应用之形状

    一.自适应椭圆 * border-radius特性:    * 可以单独指定水平和垂直半径,并且值可以是百分比,用/(斜杠)分隔这两个值即可(可以实现自适应宽度椭圆).    * 还可以单独指定四个角 ...

  3. CSS3鼠标滑过动画线条边框特效

    基于CSS属性animation动画制作,效果流畅弹性十足 效果展示 http://hovertree.com/texiao/css3/32/ 源码下载:http://hovertree.com/h/ ...

  4. 【IOS开发笔记02】学生管理系统

    端到端的机会 虽然现在身处大公司,但是因为是内部创业团队,产品.native.前端.服务器端全部坐在一起开发,大家很容易做零距离交流,也因为最近内部有一个前端要转岗过来,于是手里的前端任务好像可以抛一 ...

  5. iOS 3D 之 SceneKit框架Demo分析

    Scene Kit 是Apple 向 OS X 开发者们提供的 Cocoa 下的 3D 渲染框架. Scene Kit 建立在 OpenGL 的基础上,包含了如光照.模型.材质.摄像机等高级引擎特性, ...

  6. tableView显示第一个cell有偏移问题

    - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 0 ...

  7. Android Git 客户端

    1.tortoisegit Git下载地址: https://tortoisegit.org/download/ SVN下载地址: https://tortoisesvn.net/downloads. ...

  8. 5种处理js跨域问题方法汇总(转载)

    1.JSONP跨域GET请求 ajax请求,dataType为jsonp.这种形式需要请求在服务端调整为返回callback([json-object])的形式.如果服务端返回的是普通json对象.那 ...

  9. MySQL备份原理详解

    备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...

  10. head/tail实现

         只实现了head/tail的基本功能,默认显示十行及-n参数.       一.使用带缓冲的系统调用.       write/read等系统调用是不带缓冲的,可以包装一层,使其带缓冲. t ...