日期:2014-05-19  浏览次数:20833 次

JSP博客系统发表新文章后跳转页面的问题
本帖最后由 aold619 于 2012-11-19 17:02:53 编辑 初学servlet,试着自己写一个JSP博客,用的是MySQL,其中有一张article表,里面仿照着wordpress的表结构,也设置了一个用来存该文章的链接地址的guid项(如:http://127.0.0.1/?p=5,这里的链接和文章id都自动填进去了),现在刚写完发表新文章的功能,在发表完新文章之后会提示发表新文章成功,然后给一个跳转回新文章的链接,这个链接的地址不知道怎么给啊,就像wordpress里面的guid项,发表新文章的时候并不知道文章的id,可是guid项里面的地址是如何自动添加进去的呀?

另外就是在显示文章发表时间的时候,用SimpleDateFormat自定义了时间格式,数据表中时间类型是DateTime,但是在从数据库中取出时间的时候却只能取出日期,时间部分都显示为12:00:00...

我不太懂数据库,servlet也是刚接触,希望大侠能给我个跳转回去的解决方案或者提示...
------最佳解决方案--------------------
引用:
引用:
引用:String sql = "insert into wf_article(article_ctime) values(NOW())";
上面又写错了...

问题解决了撒,还有什么问题没?

有啊有啊...我上面写了时间的存取代码,还有指定显示格式的代码,但是运行后读取出来的都是12:00:00啊..


……

insert into wf_article (article_ctime) values (now())  (中间的空格?) 看一下你数据库中这个字段存的是个什么样子的,我查了下,这条语句返回的是datetime 。你先在页面输出一下article.getArticle_ctime())这个是个什么样的,再取看其他的。至于你最后说的那个问题,是的,js控制层,网上一大堆!
------其他解决方案--------------------
你可以试着去网上搜索一下,mysql怎么在插入之后返回id的sql语句,我用的sql server 是有这种语句的,mysql应该也有的!至于你的时间显示,我估计是你自定义格式的时候,格式有问题,好好检查一下代码,

private static SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd");
   
   public static String getTime(){
   String currentTime = date.format( new Date());
   return currentTime;
   }

------其他解决方案--------------------
引用:
你可以试着去网上搜索一下,mysql怎么在插入之后返回id的sql语句,我用的sql server 是有这种语句的,mysql应该也有的!至于你的时间显示,我估计是你自定义格式的时候,格式有问题,好好检查一下代码,
Java code?1234567private static SimpleDateFormat date = new SimpleDateFormat("……

那个返回id的sql已经找到了,也解决了返回页的问题,但是时间问题还是存在,下面是JSP代码和接口实现类

<%
    List artList = (List)session.getAttribute("artList");
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    
%>
<tr><td>标题:</td>
    <td>更新时间:</td></tr>
<%
    if(artList.size()!=0){
        for(int i=0; i<artList.size(); i++){
            Article article = (Article)artList.get(i);
%>
<tr><td><%=article.getArticle_title() %>
        <%=sdf.format(article.getArticle_ctime()) %></td></tr>
<%
}
%>
-----------------------------------

public void insert(Article article) {
    Connection con = null;
    PreparedStatement ps = null;
    
    try {
con=ConnectionFactory.getConnection();
String sql = "insert into wf_article(NOW())";
ps  = con.prepareStatement(sql);
ps.executeUpdate();
     }catch(SQLException e){
         e.printStackTrace();
}finally{
    i