叶凡网络:Struts2 json插件的使用
- 2013-12-18 11:12:29 | 新闻来源:叶凡网络 | 点击量:726
废了一天的功夫,终于把我的留言功能实现了.有时候一个纠结的问题,会耽误自己很长时间,如何提高开发效率,是个很大的问题!
总结一下今天的内容:
我要实现的功能是,在一篇文章的最后,添加一个留言板块,在留言之后能够直接显示在页面上
第一步:在struts2基本jar包的基础上添加struts2-jsonplugin
第二步:在stuts.xml文件中将extends由默认的struts-default改为json-default
<package name="tutorial" extends="json-default">
第三步:在jsp中引入jquery
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
第四步:画页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>新闻公告</title>
<link href="css/register.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
<script type="text/javascript">
jQuery(document).ready(function()
{
$("#mes_button").bind("click",function(event){
var m_name = $("#m_name").val();
var m_content = $("#m_content").val();
var b_id = $("#b_id").val();
$.ajax({
type: "POST",
url: "addMessage.action",
data:{"m_name":m_name,"m_content":m_content,"b_id":b_id} ,
success: function (data) {
$("#message_list").append("<div class='message_box' id=''><div class='message_text'><strong>"
+ data.m_name + "</strong><p>" + data.m_content +"</p></div></div>");
}
});
});
});
</script>
</head>
<body>
<div id="main">
<div id="head">
<div class="head_bg">
<div class="head_menu">
<ul>
<div class="head_left">
<a href="http://www.cnblogs.com/index.jsp">首页</a>
</div>
<div class="head_right">
<a href="jsp/news/news.jsp">新闻公告</a>
</div>
<div class="head_right">
<a href="jsp/news/news.jsp">专业动态</a>
</div>
<div class="head_right">
<a href="">文章列表</a>
</div>
<div class="head_right">
<a href="jsp/news/news.jsp">成果展示</a>
</div>
<div class="head_right">
<a href="">下载中心</a>
</div>
<div class="head_right">
<a href="">管理员入口</a>
</div>
</ul>
</div>
</div>
</div>
<div class="underhead">
<span class="l"> 正文 </span>
</div>
<div align="left" style="width: 100%">
<div class="news">
<div class="newscontent">
<h1>
<a id="tit" class="tit" href="" target="_blank" mon="a=7">${ins.b_title }</a>
</h1>
<div class="overcontent">
时间:${ins.b_date }
</div>
<div id="content">
${ins.b_content}
</div>
<div id="undercontent">
<input id="b_id" type="hidden" name="b_id" value="8">
</div>
</div>
</div>
<div id="message_list">
</div>
<div class="message">
<div class="message_title">
发表评论
</div>
<div class="message_user">
用户名:
<input disabled="disabled" id="m_name"
type="text" value="houjinxin" name="m_name"/>
</div>
<form action="">
<div class="message_content">
<textarea id="m_content" rows="5" cols="80" name="m_content"></textarea>
</div>
<div class="message_button">
<input id="mes_button" type="button" value="提交评论" />
</div>
</form>
</div>
</div>
</div>
<div>
<br/>
</div>
<div id="foot">
Copyright (c) 2012 Inc All rights reserved 版权所有 by
黑龙江科技学院
<select>
<option value="" selected>
----------友情链接----------
</option>
<option value=http://www.moe.edu.cn />
国家教育部
</option>
<option value=http://www.pgzx.edu.cn />
教育教学评估中心
</option>
<option value=http://www.hlje.net />
省教育厅
</option>
<option value=http://www.chinasafety.gov.cn/index.htm>
国家安全生产监督管理总局
</option>
<option value=http://www.hljmj.gov.cn />
省煤矿安全监察局
</option>
<option value=http://www.chinacoal.org.cn />
中国煤炭工业网
</option>
<option value=http://www.triz.gov.cn />
技术创新方法
</option>
<option value=http://www.cumt.edu.cn />
中国矿业大学
</option>
<option value=http://www.triz.gov.cn />
中国矿业大学北京校区
</option>
</select>
</div>
<br />
<br />
</body>
</html>
第四步:写业务代码
public void addMessage(int b_id,String m_content,String m_name)
{
PreparedStatement ps = null;
try
{
String sql = "insert into message(b_id,m_name,m_content,m_date,m_status) values(?,?,?,?,?)";
ps = DBUtils.getConnection().prepareStatement(sql);
ps.setInt(1,b_id);
ps.setString(2,m_content);
ps.setString(3,m_name );
ps.setDate(4, new Date(new java.util.Date().getTime()));
ps.setString(5, "1");
ps.executeUpdate();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
DBUtils.close(ps);
DBUtils.close();
}
}
第五步:在action调用该方法:目的是将留言录入数据库
package com.ele.web.action.message;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.sql.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.ele.services.MessageServices;
import com.ele.services.NewsServices;
import com.ele.vo.Ele_messageVO;
import com.ele.vo.Ele_newsVO;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class AddMessageAction extends ActionSupport
{
private String m_name;
private String m_content;
private int b_id;
public int getB_id()
{
return b_id;
}
public void setB_id(int bId)
{
b_id = bId;
}
public String getM_name()
{
return m_name;
}
public void setM_name(String mName)
{
m_name = mName;
}
public String getM_content()
{
return m_content;
}
public void setM_content(String mContent)
{
m_content = mContent;
}
@Override
public String execute()
{
MessageServices msgServices = new MessageServices();
msgServices.addMessage(b_id, m_content, m_name);
return SUCCESS;
}
}
到目前为止,在点击提交按钮后,数据会被显示到页面上,但是刷新之后就没有了.这也是我将要完成的部分。
上一篇:叶凡网络:美媒:习近平对美国防务政策影响力排名第一
下一篇:叶凡网络:中方回应日美指责防空识别区:表演够了 可歇歇