首页 / 更多教程 / [ssh新闻发布系统第三天]存储新闻
[ssh新闻发布系统第三天]存储新闻
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[ssh新闻发布系统第三天]存储新闻,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4402字,纯文字阅读大概需要7分钟。
内容图文
一、存储新闻dao方法
在NewsDao.java中新增存储新闻的saveOrupdate方法
public
void
saveOrupdate(News news){
getSession().saveOrUpdate(news);
}
二、存储新闻service方法
在NewsService.java中新增存储新闻的saveOrupdate方法
public
void
saveOrupdate(News news){
newsDao.saveOrupdate(news);
}
三、存储新闻action
让NewsAction实现ModelDriven和Preparable接口,并实现其抽象方法。
package cn.ac.ucas.action;
import java.util.Map;
import org.apache.struts2.interceptor.RequestAware;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.Preparable;
import cn.ac.ucas.form.News;
import cn.ac.ucas.service.NewsService;
publicclassNewsActionextendsActionSupportimplementsRequestAware, ModelDriven<News>, Preparable {privatestaticfinallong serialVersionUID = 1L;
private Map<String, Object> request;
private NewsService newsService;
private News model;
@Override
publicvoid setRequest(Map<String, Object> arg0) {
// TODO Auto-generated method stubthis.request = arg0;
}
publicvoid setNewsService(NewsService newsService) {
this.newsService = newsService;
}
public String list() { // 新闻列表,获取全部新闻
request.put("newslist", newsService.getAllNews());
return"list";
}
public String save() { // 存储新闻// System.out.println(model);
newsService.saveOrupdate(model);
return"save";
}
public String post() { // 跳转到发布新闻页面return"post";
}
@Override
public News getModel() {
// TODO Auto-generated method stubreturn model;
}
@Override
publicvoid prepare() throws Exception {
// TODO Auto-generated method stub
}
publicvoid prepareSave() {
model = new News();
}
}
四、配置struts
修改struts.xml,使用新的拦截器栈
<packagename="default"namespace="/"extends="struts-default">
<!-- 定义新的拦截器,配置prepare拦截器栈的alwaysInvokePrepare参数值为false -->
<interceptors>
<interceptor-stackname="sshStack">
<interceptor-refname="paramsPrepareParamsStack">
<paramname="prepare.alwaysInvokePrepare">false</param></interceptor-ref></interceptor-stack></interceptors><!-- 使用新的拦截器栈 --><default-interceptor-refname="sshStack"></default-interceptor-ref><actionname="news-*"class="newsAction"method="{1}"><resultname="list">/WEB-INF/newslist.jsp</result><resultname="post">/WEB-INF/newspost.jsp</result><resultname="save"type="redirect">/news-list</result></action></package>
访问news-post跳到/WEB-INF/newspost.jsp发布新闻,访问news-save存储新闻到数据库并重定向到新闻列表页。
五、编写前端页面
在index.jsp加入一行,点击中后跳转至/WEB-INF/newspost.jsp
<ahref="news-post">发布新闻</a>
newspost.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
<title>Insert title here</title></head><body><s:formaction="news-save"method="post"><s:textfieldname="title"label=" 新闻标题"></s:textfield><s:textfieldname="author"label="新闻作者"></s:textfield><s:textfieldname="source"label="新闻来源"></s:textfield><s:textfieldname="posttime"label="发布时间"></s:textfield><s:textfieldname="content"label="新闻内容"></s:textfield><s:submitvalue="录入"></s:submit></s:form></body></html>
录入界面:
新闻列表页:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE >
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
<title>新闻列表</title><styletype="text/css">body{
margin:0px;
padding:0px;
width:800px;
margin:30px auto;
}.newslisth2{
text-align: center;
}.newsinfo{
text-align: center;
}.newscontent{
text-indent:2em;
}.newscontenta{
display: block;
float: right;
}</style></head><body><s:iteratorvalue="#request.newslist"><divclass="newslist"><h2>${title}</h2><pclass="newsinfo">${author}${source}${posttime}</p><pclass="newscontent">${content}</p><hr></div></s:iterator></body></html>
原文:http://blog.csdn.net/napoay/article/details/50570934
内容总结
以上是互联网集市为您收集整理的[ssh新闻发布系统第三天]存储新闻全部内容,希望文章能够帮你解决[ssh新闻发布系统第三天]存储新闻所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。