4年前第一次用struts2的时候,有一个疑问,为什么在js里无法直接取到Action里的值,而在jsp里可以
现在基本知道拉,总结一下:
Action是在服务端(servlet容器里)执行的,执行之后生成jsp,并写入响应返回给客户端(一般是浏览器)
通常情况下,Action和jsp可以视为一个整体,Action是jsp的前置,jsp可以从ValueStack里取到Action中定义的字段。二者共同处理HTTP请求。
本质上来说,大体上可以认为是这个流程:Action进行逻辑处理之后,把一些值放到Request的Attribute里(或者是SessionAttribute,总之都没有脱离servlet规范的范畴),然后jsp从里面取出来,最后jsp经过servlet容器的编译,生成响应返回客户端
但是javascript的执行环境完全不同。客户端得到的最终的html里,附带了javascript的链接,浏览器重新发起请求,获取到javascript之后,在本地执行,这时候与此前针对Action发起的请求已经没有关系了。这时候一般来说,javascript只能基于html取值,也可以选择重新发起ajax请求
所以实际中,在jsp页面里,需要把javascript以后可能会用到的值,先放到html里,比如:
<td>
<button class="edit_book">编辑</button>
<button class="delete_book">删除</button>
<span class="hidden_book_id"><s:property value="id" /></span>
</td>
这里的<span>,是不在页面上显示的,目的就是为了之后给javascript来取
function deleteBook() {
var $deleteButton = $(this);
var $idSpan = $deleteButton.parent().find(".hidden_book_id");
var bookId = $idSpan.text();
var url = "delete.action?id=" + bookId;
window.location.href = url;
}
分享到:
相关推荐
使用`<form>`标签,配合`<input>`和`<textarea>`元素,以及`action`属性指定处理请求的Servlet。 5. **处理请求**:在Servlet中,你需要解析请求参数,创建新的Blog条目,并将其存储到数据库。这可能涉及到Java的 ...
jsp通过Ajax无刷新获取Action返回的模拟数据,然后通过struts2转化成json数据返回页面....这里面Map,List,对象等等,一些常用的操作都有。主要的代码在Action和 json.js里面。适合新手入门
表单的`<form>`标签通常会指定一个`action`属性,该属性指明处理表单数据的JSP页面。 2. **数据验证**:在用户提交表单时,JSP页面可以通过内置的Java脚本或自定义JavaBeans来验证输入的数据,确保其有效性(如非空...
7. **Servlet与JSP的关系**:JSP最终会被编译成Servlet,Servlet处理请求并生成响应。JSP提供了一个更直观的视图层开发方式,而Servlet则负责业务逻辑和控制流程。 本课程中的实例代码涵盖了从基础到进阶的各种应用...
在这个名为“jsp,ssh房屋查询系统”的项目中,开发者利用SSH框架来实现一个房屋租赁查询系统,旨在为新手提供学习和实践的机会。 首先,我们来看Spring框架。Spring是Java应用开发的核心框架,它提供了依赖注入(DI...
JSP与Servlet的关系通常是:JSP负责视图展示,Servlet处理模型和控制器部分。 **Struts框架** Struts是MVC(Model-View-Controller)设计模式的实现,它简化了Java Web应用的开发。Struts将业务逻辑、数据处理和...
这可能是项目的主目录或者源代码包,里面可能包含了各种资源文件(如CSS、JavaScript、图片)、配置文件(如Hibernate的配置文件、Struts的配置文件)、Java源代码文件(如Action类、DAO类、Service类)、JSP页面等...
AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下更新部分网页的技术,提高了用户体验。在SSH框架中,可以使用Struts2的Ajax插件或者第三方库如jQuery实现AJAX功能,实现页面异步交互。 ...
【标题解析】 "JSP源码——[新闻文章]Struts新闻管理系统学习修正版_newsmanager.zip" 这个标题表明这是一个...对于Java Web开发新手,这是一份宝贵的实践资源,可以帮助他们从实践中掌握理论知识,并提升开发技能。
总的来说,“servlet+jsp+验证注册功能”的学习和实践有助于新手IT从业者掌握Web开发的基本流程,了解服务器端与客户端的交互方式,以及如何在实际项目中处理用户数据,对于个人技能的成长有着重要的推动作用。...
它通过ActionServlet、ActionForm、Action和JSP等组件协同工作,实现业务逻辑与视图的分离。 **Hibernate框架**: Hibernate是一个对象关系映射(ORM)框架,它可以将Java对象映射到数据库表,从而简化数据库操作。...
在本书中,我们将从简单的表单及表单处理开始,逐一讲述编写Web应用程序的基础知识:action、interceptor和result,以及控制反转(IoC)模式、对象图导航语言(OGNL)和所有来自WebWork的实用JSP标签等。然后我们...
在本书中,我们将从简单的表单及表单处理开始,逐一讲述编写Web应用程序的基础知识:action、interceptor和result,以及控制反转(IoC)模式、对象图导航语言(OGNL)和所有来自WebWork的实用JSP标签等。然后我们...
在本书中,我们将从简单的表单及表单处理开始,逐一讲述编写Web应用程序的基础知识:action、interceptor和result,以及控制反转(IoC)模式、对象图导航语言(OGNL)和所有来自WebWork的实用JSP标签等。然后我们...
标题中的“上传三个新手练手的项目,简单,包含很多知识点”表明这是一份适合初学者练习的Java项目集合,这些项目旨在帮助新手巩固基础知识并熟悉实际开发流程。描述中提到“不复杂,包含java学习前期所用的知识点,...
4. **ActionMapping**:定义了Action与请求URL之间的映射关系,指定哪个Action应该处理特定的HTTP请求。 5. **JSP视图**:Struts使用JSP作为视图层,负责展示数据。JSP可以包含HTML、CSS、JavaScript,以及Struts...
**DWR入门**:初学者在接触DWR之前,应具备一定的JSP、JavaScript和应用服务器(如Tomcat)的基础知识。本书《DWR中文文档v0.9DWR2.0》由方佳玮编著,旨在为新手提供从入门到实践的完整指南。书中不仅包含了DWR的...
- `src/main/webapp/`: 存放静态资源,如JSP页面、CSS、JavaScript等 新手在学习时,首先要理解Action类的创建,如何编写Action类的方法来处理请求,并在struts.xml中配置这些Action。接着,了解如何使用Struts2的...
Action类是处理用户请求的核心,它会根据用户提交的数据执行相应的业务逻辑,并返回一个表示结果的字符串,这个字符串对应于一个视图,如JSP页面。同时,Struts的配置文件(struts-config.xml或struts2的struts.xml)...