BBS项目笔记之六:帖子的CRUD


一:查询

在板块的帖子列表(以文章分类为依据查出所有帖子)和其他显示用户名的地方(以用户名为依据 打开一系列帖子)

先去获得该类别下的一个文章标题, 然后超链接里传递其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>



文章的回复下次单起一篇文章问起吧



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值