最近要做一个WEB的小工具, 已有的代码都是用JSP写的。 又想用我自己实现的js-web,所以就想到了用javascript写后台的代码,用JSTL来表现。 javascript在服务器端运行的问题前面解决了,但是用JSTL来输出javascript的对象和在JSP中如何调用服务端的JS是这次才实现的。
1。 在JSP中调用服务器端的javascript使用了一个自自定义标签:
<%@ taglib uri="http://www.jsweb.org/tag/js-web" prefix="js" %>
<!--运行一个服务器端 javascript -->
<js:exec file="/js/jstl.js" />
2。 如何将JavaScript的对象转换为,JSTL能识别的Java对象呢? 定义了一个JavaScriptMap和JavaScriptCollection分别实现了Map和Collection两个接口。 可以将任意的Javascript对象以MAP/Collection方式传到JSP上面。
//取一个HTTP的参数,
var username = web.param('name');
//保存到HTTPRequest 的attribute中。
web.attr('username', username);
web.attr('map', {foo:'foo value', foo2:'foo2 value'});
//保存到Session中。
web.session('list', ['one', 'two', 'three', 'four']);
print("Hello, this a javascript running server side");
3。 再看JSP中的代码:
<%@ taglib uri="http://www.jsweb.org/tag/js-web" prefix="js" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<div>
<h1><js:exec file="/js/jstl.js" /></h1>
<div>
<div>
<h1>Request parameter</h1>
Hello, <c:out value="${username}" />
<div>
<div>
<h1>Javascript map</h1>
Map:<br/>
foo-><c:out value="${map.foo}" /><br/>
foo2-><c:out value="${map.foo2}" /><br/>
<div>
<h1>Javascript list</h1>
<c:forEach items="${list}" var="e">
<c:out value="${e}" /><br/>
</c:forEach>
<div>
4。如何实现JavaScript服务器端访问数据库:
function init_connection(){
if (!dbd){
//导入数据操作Library, 在js-shell项目中实现。
var dbd = __import__('DB', null, {})
dbd.driver('org.sqlite.JDBC');
}
return dbd.connect("jdbc:sqlite:" + web.realpath("/WEB-INF/") + "/message.db");
}
//一个查询的例子
function list_message(){
var conn = init_connection();
.....
//the two lines can combine to one,
//var list = conn.select_list("select * from messages");
var rs = conn.select("select * from messages");
var list = rs.fetch_rows();
......
return list;
}
//一个插入纪录的例子
function add_message(){
var conn = init_connection();
....
conn.insert("messages", web.param(), ['title', 'message', 'username']);
conn.close()
}
5。 完整的代码下载地址: http://js-web.googlecode.com/files/message-board.war
最先在考虑数据库操作的时候,想调用JPA,发现相关联的包太多了。最后使用了简单的JDBC方式操作。最近兴趣转移了,很久没有更新了,前几天需要做一个小工具的时候,才又想起了js-shell。加入了一些新的功能,包括数据库操作和Logging方面的Library.
分享到:
相关推荐
基于jsp+Servlet+jstl写的考勤系统源码.zip基于jsp+Servlet+jstl写的考勤系统源码.zip基于jsp+Servlet+jstl写的考勤系统源码.zip基于jsp+Servlet+jstl写的考勤系统源码.zip基于jsp+Servlet+jstl写的考勤系统源码.zip...
jsp+jstl实现分页,简单的分页
在这个项目中,JSP页面结合了EL和JSTL,减少了大量的脚本代码,提高了代码的可读性和维护性。通过EL,可以直接在JSP中引用后台传递的数据,而JSTL标签则用于处理页面逻辑,如循环遍历图书列表,根据条件显示或隐藏...
通过使用JSTL,我们可以使JSP页面更符合MVC(Model-View-Controller)架构,降低代码的复杂性,提高可维护性。例如,`<c:forEach>`标签用于遍历集合,`<c:if>`用于条件判断,`<c:set>`用于设置变量。 **分页** 在...
网上书店 jsp jstl1.1+el+sql2000+javabean 网上书店 jsp jstl1.1+el+sql2000+javabean 网上书店 jsp+jstl1.1+el+sql2000+javabean 网上书店 jsp+jstl1.1+el+sql2000+javabean 网上书店 jsp+jstl1.1+el+sql2000+...
在IT行业中,Java开发是广泛使用的编程语言,而jar(Java Archive)文件是Java平台特有的归档文件格式,用于集合多个类文件和其他资源,形成一个单一的可执行文件,便于分发和运行。"fileup.jar+json.jar+js.jar+...
总的来说,`el+jstl jar包`是Java Web开发中不可或缺的一部分,它们极大地简化了JSP页面的编程,提高了开发效率,同时也使得XML数据在网络传输和展示过程中更加便捷。这两个库的合理使用,能帮助开发者构建更加高效...
**JSP+Struts+JSTL技术的MVC架构详解** 在Web应用程序开发中,MVC(Model-View-Controller)架构模式被广泛采用,它有效地分离了业务逻辑、数据处理和用户界面,提高了代码的可维护性和可扩展性。JSP(JavaServer ...
《深入理解Tomcat+JavaWeb+JDBC+JSTL+jQuery技术栈》 在现代互联网应用开发中,JavaWeb以其稳定性和强大的功能占据了一席之地。本集合文件"Tomcat+JavaWeb+JDBC+JSTL+jQuery.7z"涵盖了构建Web应用程序的关键技术,...
总结来说,"Struts+Servlet+jstl 图书管理"是一个基于Java技术的图书管理系统,利用Struts框架实现MVC模式,Servlet处理请求和响应,JSP展示内容并结合JSTL简化页面编程。这个系统对于学习和理解Java Web开发有很好...
基于Java的SSM框架+ECharts+jquery+bootstrap+jstl编写的高校科研管理系统,适用于ssm的初学者的参考项目,系统包含了个人信息,教师管理,项目管理,奖励管理和出版物管理模块。 运用到的知识点主要有,spring创建...
JSTL(JavaServer Pages Standard Tag Library)是Java服务器页面的标准标签库,提供了丰富的标签来简化JSP页面的编程。它将复杂的Java代码从JSP页面中移除,使得页面更加清晰,易于维护。JSTL的核心标签库(c芯)用于...
javaWeb+jsp+jstl+css+js+mysql 三、开发运行环境 jdk1.8 Tomcat8及其以上版本 Mysql5.5及以上版本 # 四、系统功能 系统分为两种用户:管理员,普通会员 前台: 首页 用户登录 用户注册 商品类别展示 查看商品...
使用JSTL可以减少JSP页面中的脚本代码,使得页面更加整洁,易于维护。JSTL的核心部分包括Core、JSTL SQL、JSTL XML和JSTL Functions四个标签库。 EL(Expression Language)是Java EE的一部分,提供了一种简洁的...
JSTL提供了一套标准的标签,用于替代JSP页面中的脚本元素,使代码更加简洁、易读且易于维护。 **standard.jar** 是一个包含JSTL核心库的JAR文件,它提供了处理控制流程、迭代、条件判断等功能的标签。例如,`<c:if>...
【泽风留言本(JSP+Struts+JSTL)】是一个基于MVC设计模式的Web应用程序,它利用了Java服务器页面(JSP)、Struts框架和JavaServer Pages Standard Tag Library(JSTL)来构建一个功能完善的留言系统。这个项目的核心...
3. jstl:jstl是JSP的一种标签库,它提供了丰富的标签供开发者使用,简化了JSP页面的代码结构,使得页面更加清晰易读。在考勤系统中,jstl可以用于数据处理,如条件判断、循环、数据格式化等,比如使用`<c:forEach>`...
**JSTL(JavaServer Pages Standard Tag Library)**是JavaWeb中的一个标准标签库,提供了许多预定义的标签,可以简化JSP页面的编程,提高可读性和维护性。在"学生选课"项目中,JSTL可能用于以下几个方面: 1. 数据...
【标题】"hibernate+dwr+spring+jstl的demo"揭示了这是一个结合了四个关键技术的示例项目,主要用于展示如何在Web开发中整合这些技术。这些技术分别是Hibernate(对象关系映射框架)、Direct Web Remoting (DWR)(一...