【发布时间】:2009-11-10 20:52:54
【问题描述】:
有没有人使用 JSP/Servlet/Java 技术实现了类似 stackoveflow/digg 的投票系统? 如果是的话,你能把我重定向到书籍或在线资料吗?另外是否已经有一些学习用的插件?
【问题讨论】:
有没有人使用 JSP/Servlet/Java 技术实现了类似 stackoveflow/digg 的投票系统? 如果是的话,你能把我重定向到书籍或在线资料吗?另外是否已经有一些学习用的插件?
【问题讨论】:
这里的主要关键字是Ajax。它基本上归结为让Javascript 代码向服务器端发出一个异步请求(“后台”中的请求,以便客户端看不到任何“内容闪存”),并最终遍历/更改收到响应后,HTML DOM 树(可通过 Javascript 中的 document 对象访问)。
首先,将一些 JS 函数附加到代表向上和向下投票按钮的元素的 click 事件。让这些 JS 函数使用消息 ID 和投票状态(向上或向下)向服务器发出异步请求,并通过遍历 HTML DOM 相应地更改表示数字的元素。基本上就这些了。
为了避免浏览器特定行为方面的痛苦,最好采用具有 ajaxical 功能的彻底开发和维护的 3rd 方 Javascript 框架,例如 jQuery。
您只需按照通常的方式进一步使用 JSP/Servlet:JSP 作为一种视图/模板技术,可以仅用于编写必要的 HTML/CSS/JS,并且可以借助 taglibs 动态控制输出(例如作为 JSTL) 和 EL。作为请求/响应控制器的 servlet 只能用于控制请求并最终执行特定于请求的操作。不仅适用于 JSP 页面,也适用于 ajaxical 请求。我建议在 servlet 中使用 Gson 以便能够发送和/或接收 JSON 字符串,以便 Javascript 可以进一步处理它而无需任何转换。
在 jQuery 站点上,您可以找到很多“第四方”插件。 Here 你可以找到与关键字vote 匹配的所有插件。其中之一可能对您有用。
希望这会有所帮助。
【讨论】: