最近在学习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. Prime Generator

    Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate ...

  2. 如何解决例如i++的线程不安全性

    AtomicBoolean.AtomicInteger.AtomicLong.AtomicReference 各种原子性关键字,可以解决比如i++的线程不安全性的因素

  3. 《Web开发过滤Javascript、HTML的方法》

    JavaScript过滤方法: 第一种方案:使用 htmlspecialchars 函数转换特殊字符和使用 nl2br 函数插入一些必要的 <br /> 标签. $comment = &l ...

  4. BranchCache在sharepoint2013使用

    BranchCache 是 Windows 7.Windows 8.Windows Server 2008 R2 和 Windows Server 2012 操作系统的一项功能,此功能可在本地分支机构 ...

  5. Linux下安装JDK和Eclipse

    安装步骤: (1)下载JDK (jdk-8u20-linux-x64.tar.gz) (2)卸载系统自带的开源JDK  rpm  -qa |grep  java rpm  –e   java  (3) ...

  6. 检索Google Maps地图位置(小训练)

    名称:检索地图位置 内容:地图初期显示和检索显示 功能:根据条件检索地图的经度与纬度 1.在这之前我们需要创建一个表(Accoun__c),添加一个重要的字段地理位置情報,它会默认的给你两个字段经度和 ...

  7. js与native交互

    js与native交互 UIWebView Native调用JS,使用stringByEvaluatingJavaScriptFromString来解释执行js脚本. //script即为要执行的js ...

  8. bitnami redmine版本由2.3.1升级至3.2.2过程

    环境: 操作系统为ubuntu13.**版本,非长期支持版. 安装目录:/opt/redmine-2.3.1-0/ 所有者用户:root 安装过程: 1. 备份2.3.1数据库 sudo /opt/r ...

  9. 2016 DTCC(中国数据库技术大会)

    上周去参加了2016 DTCC(数据库技术大会),会议总共持续3天,议题非常多,我这里搜集了最新的公开的PPT内容,有兴趣的同学可以下载看看,PPT合集下载链接为:http://pan.baidu.c ...

  10. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...