大家好,又见面了,我是你们的朋友全栈君。
Im using DWR, which im fairly new to…I using ajax to submit a comment to the page and I got request to see If i can show a tmestamp when the comment is submitted:
In a nutshell—The bean has a variable called auditable…which doesnt get populated with a timestamp until it hits the database. Thats fine. My question…can I pass something to auditable on the fly with ajax that is a sort of “timestamp” to pass back to the page????
Thanx in advance!!!!
heres the code:
JSP
You have ${const[‘COMMENT_MAX_LENGTH’] – fn:length(commentForm.comment)} characters left.
οnkeypress=”characterCounter(‘commentsCounter’,${const[‘COMMENT_MAX_LENGTH’]}, this)”
οnkeydοwn=”characterCounter(‘commentsCounter’,${const[‘COMMENT_MAX_LENGTH’]}, this)”
οnkeyup=”characterCounter(‘commentsCounter’,${const[‘COMMENT_MAX_LENGTH’]}, this)”>
DWR JAVASCRIPT:
function addComment()
{
$(“#commentErrors”).css(“visibility”, “hidden”);
var obj = {comment:null};
WhatIfDataAction.addComment(dwr.util.getValues(obj),
{
callback:addCommentCallback,
timeout:60000,
exceptionHandler:function(msg, e)
{
alert(“Error submitting form. ” + msg);
}
}
);
}
function addCommentCallback( comment )
{
if (comment.messages.length > 0)
{
//Convert the error messages into an HTML string.
var html = “”;
for (var i = 0; i < comment.messages.length; i++)
{
html += “
” + comment.messages[i] + “”;
}
$(“#commentErrors”).html(html);
$(“#commentErrors”).css(“visibility”, “visible”);
}
else
{
// Build HTML for new row.
var html = “
” + comment.comment + “” +
“
” + comment.id + “” +
“
“; // three empty TDs for the three actuals fields
$(“#commentRow”).before(html);
WHATIFDATAACTION.JAVA:
public CommentForm addComment(Map properties) throws Exception
{
CommentForm form = new CommentForm(properties);
if (form.validate(this))
{
CommentBean bean = form.toBean();
EntryBean entry = WhatifCache.fetchEntryFromCache(getSession());
entry.addComment(bean);
form.setId(bean.getId());
bean = form.toBean();
}
return form;
}
And finally…commentBean:
public final class CommentBean
extends AbstractBean
implements Auditable,
BeanCache.CacheableBean
{
private long id;
private long entryId;
private String comment;
private AuditableBean auditable;
/** Description character max length, matches size of description field in db **/
public static final Integer COMMENT_MAX_LENGTH = 250;
public CommentBean()
{
}
@Override
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
{
id = in.readLong();
entryId = in.readLong();
comment = in.readUTF();
auditable = (AuditableBean)in.readObject();
}
@Override
public void writeExternal(ObjectOutput out) throws IOException
{
out.writeLong(id);
out.writeLong(entryId);
out.writeUTF((comment == null) ? “” : comment);
out.writeObject( auditable );
}
@Override
public void readSQL(SQLInput in, String typeName) throws SQLException
{
id = in.readLong();
entryId = in.readLong();
comment = in.readString();
auditable = (AuditableBean)in.readObject();
}
@Override
public void writeSQL(SQLOutput out) throws SQLException
{
out.writeLong(id);
out.writeLong(entryId);
out.writeString(comment);
out.writeObject( auditable );
}
public long getId()
{
return id;
}
public void setId(long id)
{
this.id = id;
}
public long getEntryId()
{
return entryId;
}
public void setEntryId(long entryId)
{
this.entryId = entryId;
}
public String getComment()
{
return comment;
}
public void setComment(String comment)
{
this.comment = comment;
}
public AuditableBean getAuditable()
{
return auditable;
}
public void setAuditable(AuditableBean bean)
{
auditable = bean;
}
public boolean isActive()
{
return true;
}
public String getKey()
{
return “”+id;
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150671.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...