jsp页面foreach循环,表单提交,批量处理数据,

jsp页面


jsp页面:

<body>
	<form action="test" method="post">
		<c:forEach begin="1" end="4" varStatus="status">
			name:<input type="text" name="userList[${status.index-1}].username">
			<br /> 
			age:<input type="text" name="userList[${status.index-1}].age">
			<br />
			<br />
		</c:forEach>
		<input type="submit" value="提交">
	</form>
</body>


jsp页面转换成html的源码:

<body>
	<form action="test" method="post">
		
			name:<input type="text" name="userList[0].username">
			<br /> 
			age:<input type="text" name="userList[0].age">
			<br />
			<br />
		
			name:<input type="text" name="userList[1].username">
			<br /> 
			age:<input type="text" name="userList[1].age">
			<br />
			<br />
		
			name:<input type="text" name="userList[2].username">
			<br /> 
			age:<input type="text" name="userList[2].age">
			<br />
			<br />
		
			name:<input type="text" name="userList[3].username">
			<br /> 
			age:<input type="text" name="userList[3].age">
			<br />
			<br />
		
		<input type="submit" value="提交">
	</form>
</body>


Action:

package org.zj.user.action;

import java.util.List;

import org.zj.user.model.User;

/**
 * 
 * @author {jin.zhang@witontek.com}
 * @version $Id: TestAction.java, v 0.1 2015年8月13日 下午5:27:51 {jin.zhang@witontek.com} Exp $
 */
public class TestAction {

    private List<User> userList;

    public String add() {

        for (User u : userList) {
            System.out.println(u.getUsername());
        }
        System.out.println(userList.size());
        //......循环遍历list,保存校数据库,业务逻辑
        return "success";
    }

    /**
     * Getter method for property <tt>userList</tt>.
     * 
     * @return property value of userList
     */
    public List<User> getUserList() {
        return userList;
    }

    /**
     * Setter method for property <tt>userList</tt>.
     * 
     * @param userList value to be assigned to property userList
     */
    public void setUserList(List<User> userList) {
        this.userList = userList;
    }
}




### JavaWeb 图书管理系统课程设计示例教程 #### 一、项目概述 JavaWeb图书管理系统是一个典型的基于浏览器/服务器架构的应用程序。此应用程序允许管理员和用户执行各种操作,如添加书籍、删除书籍、更新书籍信息以及查询书籍详情。开发环境包括Eclipse IDE 2020-03, Chrome 浏览器用于前端展示与测试,MySQL 数据库存储数据,Navicat 工具辅助数据库管理[^1]。 #### 二、技术栈介绍 本系统主要采用了JSP作为视图层技术,Servlet处理业务逻辑请求,并通过Ajax实现了前后端之间的异步通信机制。为了简化页面刷新流程并提高用户体验,在显示动态内容时选择了不依赖于传统的表单提交方式而是利用JavaScript发送HTTP请求获取JSON格式响应来完成局部刷新效果[^2]。 #### 三、功能模块分析 ##### 3.1 用户登录注册 提供了一个安全的身份验证过程,确保只有授权人员才能访问受保护资源。这通常涉及到会话管理和密码加密等措施。 ##### 3.2 后台管理界面 为管理人员提供了友好的图形化操作平台,支持批量导入导出Excel文件中的记录;能够方便快捷地增删改查各类实体对象的信息。 ##### 3.3 前台借阅服务 面向普通读者开放的功能区域能够浏览馆藏目录、在线预约心仪读物等功能。 #### 四、关键技术点解析 ###### 4.1 Ajax 实现无刷新加载 为了避免整个网页重新载入带来的不便之处,这里运用到了XMLHttpRequest对象发起GET或POST方法向服务器索取所需片段再嵌套到当前文档结构内而不影响其他部分呈现状态的技术方案。 ```javascript function loadDoc() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("demo").innerHTML = this.responseText; } }; xhttp.open("GET", "ajax_info.txt", true); xhttp.send(); } ``` ###### 4.2 JSTL标签库优化模板渲染效率 借助标准标记库可以减少大量冗余代码量的同时还增强了可维护性和跨团队协作能力。例如<c:forEach>循环迭代集合元素构建列表项非常便捷高效。 ```jsp <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> ... <ul> <c:forEach items="${books}" var="book"> <li>${book.title}</li> </c:forEach> </ul> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值