Jsp:
function saveCalendar(id){
var startTmDetail = $("#startTimeDetail"+id).val();
var startHour = $("#startHour"+id).val();
var endTmDetail = $("#endTimeDetail"+id).val();
var endHour = $("#endHour"+id).val();
var content = $("#contentDetail"+id).val();
var param = [
{name:'startTmDetail', value:startTmDetail},
{name:'startHour', value:startHour},
{name:'endTmDetail', value:endTmDetail},
{name:'endHour', value:endHour},
{name:'content', value:content},
{name:'id', value:id}
];
$.ajax({
type: 'post',
url: '<%=path %>/calendarInfo/updateCalDetail.action',
async: false,//想要执行完这个ajax再执行下边代码,就要设置成false
data: param,
dataType: 'text',
success: function(text){
var jsonObj = eval("("+text+")");
var divStr = "";
var divContent = "";
//重写divStr
divStr = "<div id='showTm"+jsonObj.id+"'>"+jsonObj.startTime+" 到 "+jsonObj.endTime+" <input style='border: 1px solid #777;' type='button' value='编辑' onclick='calendarEdit("+jsonObj.id+")' /></div>";
divContent = "<div id='showContent"+jsonObj.id+"'>"+jsonObj.content+"</div>";
$("#showTm"+id).html(divStr);
$("#showContent"+id).html(divContent);
$("#showTm"+id).show();
$("#hidTm"+id).hide();
$("#showContent"+id).show();
$("#hidContent"+id).hide();
},
error: function(text) {
alert('失败');
}
});
}
Action:
@RequestMapping("/calendarInfo/updateCalDetail")
public void updateCalDetail(HttpServletResponse res,HttpServletRequest request) throws Exception{
res.reset();
res.setContentType("text/html;charset=utf-8");
PrintWriter pw = res.getWriter();
String id = request.getParameter("id");
String startTm = request.getParameter("startTmDetail");
String startHour = request.getParameter("startHour");
String endTm = request.getParameter("endTmDetail");
String endHour = request.getParameter("endHour");
String content = request.getParameter("content");
String startStr = startTm + " " +startHour + ":00:00";
String endStr = endTm + " " +endHour + ":00:00";
CalendarDetail calDetail = new CalendarDetail();
calDetail = calDetailService.findCalendarDetailById(Long.parseLong(id));
calDetail.setStartTime(startStr);
calDetail.setEndTime(endStr);
calDetail.setContent(content);
calDetailService.update(calDetail);
JSONObject jsonObject = JSONObject.fromObject(calDetail);
System.out.println(jsonObject);
pw.print(jsonObject);
pw.flush();
pw.close();
}
分享到:
相关推荐
在处理Ajax上传时,核心点在于异步请求(Ajax)与服务器端的交互,并根据服务器返回的数据做出相应的JavaScript处理。这种方法的优点是能够改善用户体验,因为它能够在不刷新整个页面的情况下与服务器通信,更新页面...
本篇将详细介绍如何在Spring MVC中自定义实现防重复提交机制,特别是通过使用“token”标签的方式。 首先,理解防重复提交的核心原理:在客户端请求时生成一个唯一的标识(token),并将这个标识存储在服务器端和...
`<s:action>` 标签用于执行一个Action,并返回其结果。这通常用于在页面中嵌入Action的结果,例如显示Action处理后的数据或错误信息。 ```xml <!-- Action执行后返回的内容将被展示在这里 --> ``` ### 3. `...
在【ACCP6.0 S2 jsp Servlet Ajax】的上机课后代码答案中,你可能会学习到如何用这些技术构建实际的Web应用,包括用户登录验证、动态数据展示、表单提交处理等常见场景。通过实践,你可以更好地理解这三者之间的协作...
3. **生成Token**: 在JSP页面中,使用`<s:token/>`标签生成并隐藏Token。 ```jsp <!-- 表单元素 --> <input type="hidden" name="struts.token" value="<s:token/>" /> 提交" /> ``` 4. **处理结果**: 如果...
5. **前端-后端通信**:AngularJS通常通过$http服务与Node.js服务器进行AJAX通信,获取或提交数据。Node.js服务器可以调用API接口,处理数据库操作,然后将数据以JSON格式返回给前端。 6. **数据库集成**:Node.js...
* 使用 Ajax 机制:使用 Ajax 来提交表单,并在提交完成后清空表单 16. XML 全文名称?XML 文档定义有几种形式? XML 全文名称是Extensible Markup Language,XML 文档定义有多种形式,包括: * 文档类型定义...
综上所述,HTML页面调用PHP文件涉及到Web开发的基本原理,包括HTML表单提交、AJAX请求、服务器配置、URL重写、安全防范以及应用架构模式等多个知识点。理解并熟练运用这些技术,可以更好地实现动态网站的开发和维护...
它允许开发者在服务器端编写脚本,将HTML、VBScript或JScript等语言嵌入到网页中,以便在用户请求页面时执行并返回结果。ASP的核心优势在于其易于学习、丰富的功能库以及与.NET Framework的集成,使得开发高效且功能...
这些脚本在服务器上执行,并返回HTML页面到客户端浏览器。这样的动态生成页面可以根据用户请求或数据库信息进行实时更新。 文章管理系统的核心功能可能包括以下几点: 1. **用户认证与权限管理**:系统可能有登录...
相较于 Struts1.x 版本,Struts2 提供了更强大的功能与灵活性,它不仅支持传统的表单提交方式,还提供了更为灵活的 Ajax 支持,以及更丰富的标签库等特性。 #### 二、Struts2架构与配置 1. **基础配置**:Struts2 ...
通过OGNL,你可以方便地访问Action的属性,或者将Action的值注入到JSP的标签中。 在实际开发中,Struts2提供了丰富的插件支持,如Tiles插件用于页面布局,Freemarker或Velocity插件作为模板引擎,以及Ajax插件实现...
10. **SEO优化**:为了提高搜索引擎的可见性,网页可能会包含元标签和URL重写等SEO最佳实践。 11. **响应式设计**:考虑到不同设备的屏幕尺寸,该系统可能采用了响应式设计,确保在手机、平板电脑和桌面设备上都能...
Hashtable 不允许null 键或值,而 HashMap 允许null 键或值。 九大隐式对象 在 JSP 中,有九大隐式对象,分别是request、response、pageContext、session、application、out、config、page 和 exception。这些对象...
Servlet通过继承HttpServlet类,并重写doGet和doPost方法来处理GET和POST请求。 三、MySQL数据库 MySQL是一种关系型数据库管理系统,广泛应用于Web应用中。本系统选择MySQL作为数据存储,因为它具有良好的性能、高...
Java面试题涵盖了许多... - 在表单中加入Token标签,并在配置文件中配置拦截器。 以上只是部分面试题的关键知识点,每个主题都值得深入学习和理解。在实际面试中,面试官可能会深入探讨这些知识点的具体应用和细节。
1. 值传递和引用传递:值传递是指函数调用时,实参将值复制一份给形参,改变形参不会影响实参;引用传递则是实参地址传递给形参,形参的改变会影响到实参。 2. 接口和抽象类:接口不包含方法实现,只能定义常量和...
- **强大的表单处理能力**:提供了丰富的表单标签库,方便处理表单提交的数据。 - **国际化支持**:内置了资源文件管理机制,支持多语言应用。 - **插件式架构**:可以通过扩展Struts提供的组件,轻松添加新功能。 ...
在机票预订过程中,如查询航班、提交订单等操作,很可能用到AJAX,以实现页面的无刷新更新。 6. **前端框架与库** 虽然标签中未明确指出,但在实际开发中,前端可能采用了如Bootstrap、Vue.js、React或Angular等...
2. 前端页面通过AJAX或者表单提交的方式发送HTTP请求到服务器。 3. Servlet接收到请求后,根据请求类型调用相应的业务逻辑,如查询数据库、更新数据等。 4. 业务逻辑处理完毕后,Servlet将结果封装成JSON或其他格式...