Java JSP在第一次访问中执行doPost
我用一个表单创建了JSP页面。用户可以写评论,它将通过POST方法发送。servlet将它存储在数据存储中,列出所有注释并将其转发给jsp,jsp将把它们放在一个表中。问题是,在第一次访问中没有任何内容,因为没有调用doPOst!这是我的密码Java JSP在第一次访问中执行doPost,java,jsp,Java,Jsp,我用一个表单创建了JSP页面。用户可以写评论,它将通过POST方法发送。servlet将它存储在数据存储中,列出所有注释并将其转发给jsp,jsp将把它们放在一个表中。问题是,在第一次访问中没有任何内容,因为没有调用doPOst!这是我的密码 public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// INSERT CODE HERE
System.out.println("received HTTP POST");
String postContent = request.getParameter("post_text");
System.out.println(postContent);
Date date= new Date();
Timestamp timeStamp= new Timestamp(date.getTime());
long lonTime= timeStamp.getTime();
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Entity post = new Entity("post");
post.setProperty("content", postContent);
post.setProperty("time", lonTime);
datastore.put(post);
System.out.println( post.getKey() );
int pageSize = 20;
FetchOptions fetchOptions = FetchOptions.Builder.withLimit(pageSize);
Query q = new Query("post").addSort("time", SortDirection.DESCENDING);
PreparedQuery pq = datastore.prepare(q);
QueryResultList<Entity> results = pq.asQueryResultList(fetchOptions);
System.out.println("-------------------");
for (Entity entity : results) {
System.out.println(entity.getProperty ("content"));
System.out.println(entity.getProperty ("time"));
}
request.setAttribute("postList",results);
String strViewPage="/tublr.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(strViewPage);
if (dispatcher != null){
dispatcher.forward(request, response);
} ;
public void doPost(HttpServletRequest请求,HttpServletResponse响应)
抛出IOException、ServletException{
//在这里插入代码
System.out.println(“收到的HTTP POST”);
字符串postContent=request.getParameter(“post_text”);
System.out.println(后内容);
日期=新日期();
Timestamp Timestamp=新的时间戳(date.getTime());
long lonTime=timeStamp.getTime();
DatastoreService datastore=DatastoreServiceFactory.getDatastoreService();
实体职位=新实体(“职位”);
post.setProperty(“内容”,postContent);
post.setProperty(“time”,lonTime);
数据存储。放置(post);
System.out.println(post.getKey());
int pageSize=20;
FetchOptions FetchOptions=FetchOptions.Builder.withLimit(页面大小);
查询q=新查询(“post”).addSort(“时间”,SortDirection.DESCENDING);
PreparedQuery pq=数据存储。prepare(q);
QueryResultList结果=pq.asQueryResultList(fetchOptions);
System.out.println(“------------------------”;
对于(实体:结果){
System.out.println(entity.getProperty(“content”);
System.out.println(entity.getProperty(“time”);
}
setAttribute(“postList”,结果);
字符串strViewPage=“/tublr.jsp”;
RequestDispatcher=request.getRequestDispatcher(strViewPage);
if(调度程序!=null){
转发(请求、响应);
} ;
有很多方法可以做到这一点。您可以添加一个servlet来处理初始请求(而不是JSP)。它可以处理注释的检索,并将您的输出引导到JSP,在JSP中显示注释。提交时(提交到上述servlet)您可以继续指向同一个JSP。这只是一个选项。您实际上是在查看MVC模式。为什么在加载JSP时不能显示“无可用注释”?因此,当用户首次登录时,他/她将不会收到任何可用注释消息。如果用户提交,则可以显示消息。此代码应位于.JSP页面中。