一:查询
在板块的帖子列表(以文章分类为依据查出所有帖子)和其他显示用户名的地方(以用户名为依据 打开一系列帖子)
先去获得该类别下的一个文章标题, 然后超链接里传递其id
<td class="contentPart2"><s:aaction="articleAction_querySingleArticle" cssClass="hong">
<s:property value="#article.title" />
<s:param name="article.articleId" value="#article.articleId"></s:param>
</s:a></td>
通过用户名超链接打开其所写的全部文章的列表
<s:a action="articleAction_queryArticlesByUserOfArticle" cssClass="huise">
<s:property value="#article.user.userName" />
<s:param name="article.articleId" value="#article.articleId"></s:param>
<s:param name="user.userName" value="#article.user.userName"></s:param>
</s:a>
后台通过HQL查出文章的实例或List<文章>就行了
public Article querySingleArticle(String articleId) {
String hql = "from Article where articleId=" + articleId;
return (Article) this.find(hql).get(0);
}
二:显示帖子:
帖子左边一栏显示用户头像还有用户信息,
用户:<s:property value="article.user.userName" /><br />
主题:<span class="chengse"><s:property value="article.user.myArticleCount" /></span> 篇<br />
后边显示发布时间 帖子内容 ,
<div style="width: 50"><s:property value="article.content" /></div>
如果是楼主的话 帖子末尾还要显示出能删,改 帖子的接口
<s:set id="articleUserId" value="%{article.user.userId}"></s:set>
<s:if test="test=#session.currUser.userId == article.user.userId">
<s:a action="articleAction_querySingleArticleForUpdate"cssClass="hong">
<s:param name="article.articleId" value="article.articleId" />修改</s:a>
<s:a action="articleAction_deleteArticle" cssClass="hong">
<s:param name="article.articleId" value="article.articleId"></s:param>删除</s:a></td>
</s:if>
三:修改
修改页面就在input里改
<input type="button" value="修 改" οnclick="updateArticle1()" /></p>
<SCRIPT type="text/javascript">
function updateArticle1() {
var articleId = '<s:property value="article.articleId"/>';
updateArticleForm.action = updateArticleForm.action + '?article.articleId=' + articleId;
updateArticleForm.submit();
}
</SCRIPT>
js里获得文章id 然后在js里组装了一个url , 点击按钮后提交
四:删除
由于帖子和回复 是one-to-many的关系, hibernate配置中要级联
这样才能安全的删掉文章
<set name="replies" inverse="true" cascade="all" order-by="replyTime desc">
<key column="articleId" />
<one-to-many class="Reply" />
</set>
<set name="scans" inverse="true" cascade="all" order-by="scanTime desc">
<key column="articleId" />
<one-to-many class="Scan" />
</set>
五:增加
通过个人首页的按钮(按钮做的) 能发布新帖
<s:a action="articleAction_toAddArticlePage">
<img src="images/grxx.gif" width="129" height="39" border="0" />
</s:a>
<p align="center"><input type="button" value="发表文章"
οnclick="addArticle1()" /></p>
提交之前检查一下所输入的内容
<SCRIPT type="text/javascript">
function addArticle1() {
if (!$('#title').val()) {
alert('请输入标题');
return;
}
if (!$('#type').val()) {
alert('请选择文章类型');
return;
}
if (!$('#content').val()) {
alert('请输入文章内容');
return;
}
addArticleForm.submit();
}
</SCRIPT>
文章的回复下次单起一篇文章问起吧