FavAction 控制类
package cn.action; import java.util.List; import org.apache.struts2.ServletActionContext; import cn.biz.FavBiz; import cn.biz.TagBiz; import cn.entity.Favorite; import cn.entity.Tag; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class FavAction extends ActionSupport { private FavBiz favBiz;//收藏 private TagBiz tagBiz;//标记 private Favorite fav; private Tag tag; private List<Favorite> favList; private List<Tag> tagList; private List<String> urlList; private String type; /* * 到 add.jsp 页面去 */ public String toAdd() throws Exception{ return SUCCESS; } /* * 添加收藏 * */ public String doAdd() throws Exception{ System.out.println(fav); favBiz.add(fav); System.out.println("2"+fav); ServletActionContext.getResponse().setContentType("text/html;charset=utf-8"); String s = "<script>alert('添加成功');window.close();</script>"; ServletActionContext.getResponse().getWriter().write(s); System.out.println("3"+fav); return null; } /* * 到显示列表页面 * */ public String toList() throws Exception{ tagList = this.tagBiz.search(null); //为空,则表示查询所有的 if(null==type || "".equals(type)){ type="-1"; } //因为通过 url 传递汉字,所以要解码 type = new String(type.getBytes("iso-8859-1"),"utf-8"); System.out.println(type); favList = this.favBiz.search(type); return SUCCESS; } /* * 到显示云页面 * */ public String toCloud() throws Exception{ tagList = this.tagBiz.search(null); return SUCCESS; } public String getType() { return type; } public void setType(String type) { this.type = type; } public FavBiz getFavBiz() { return favBiz; } public void setFavBiz(FavBiz favBiz) { this.favBiz = favBiz; } public TagBiz getTagBiz() { return tagBiz; } public void setTagBiz(TagBiz tagBiz) { this.tagBiz = tagBiz; } public Favorite getFav() { return fav; } public void setFav(Favorite fav) { this.fav = fav; } public Tag getTag() { return tag; } public void setTag(Tag tag) { this.tag = tag; } public List<Favorite> getFavList() { return favList; } public void setFavList(List<Favorite> favList) { this.favList = favList; } public List<Tag> getTagList() { return tagList; } public void setTagList(List<Tag> tagList) { this.tagList = tagList; } public List<String> getUrlList() { return urlList; } public void setUrlList(List<String> urlList) { this.urlList = urlList; } }
struts.xml 配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.i18n.encoding" value="utf-8"></constant> <package name="Fav" extends="struts-default" namespace="/"> <action name="toAdd" class="cn.action.FavAction" method="toAdd"> <result name="success">WEB-INF/jsp/fav/add.jsp</result> </action> <action name="doAdd" class="cn.action.FavAction" method="doAdd"> <result name="success">WEB-INF/jsp/fav/list.jsp</result> </action> <action name="toList" class="cn.action.FavAction" method="toList"> <result name="success">WEB-INF/jsp/fav/list.jsp</result> </action> <action name="toCloud" class="cn.action.FavAction" method="toCloud"> <result name="success">WEB-INF/jsp/fav/cloud.jsp</result> </action> </package> </struts>
list.jsp 页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <head> <title>网站收藏</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <link rel="stylesheet" type="text/css" href="<%=basePath%>/css/styles.css"> <script type="text/javascript" src="<%=basePath%>/js/jquery-1.3.2.js"></script> <script type="text/javascript"> function add() { window .open( 'toAdd.action', '_blank', 'height=350, width=380, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no,left=180,top=200'); } </script> </head> <body> <s:form name="fav" method="post"> <div class="banner"> <img src="images/logo.gif"></img> 网站收藏 </div> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td style="text-align:right;" valign="top"> <!-- 左边Tag列表 --> <div class="left_labels"> <table class="labels_table" cellspacing="0" cellpadding="0" border="0"> <tr> <td><a href="javascript:add();" style="font-weight:bold;">添加书签</a> </td> </tr> <tr> <td><a href="toList.action?type=-1">全部</a></td> </tr> <tr> <td><a href="toList.action?type=0">未分类</a></td> </tr> <s:iterator id="tag" value="tagList"> <tr> <td><a href="toList.action?type=<s:property value='#tag.name'/>"> <s:property value="#tag.name" /> </a></td> </tr> </s:iterator> <tr> <td class="selected_label"><a style="font-weight:bold;" href="toCloud.action">云图</a></td> </tr> </table> </div></td> <td> <!-- 右边fav内容 --> <div class="content_links" id="content"> <s:iterator id="url" value="favList"> <div style="padding:6px 10px;"> <div> <a href="<s:property value="#url.url"/>" style="color:blue;font-size:18px;" target="_blank"><s:property value="#url.label" /> </a> </div> <div style="color:black;font-size:16px;"> <s:property value="#url.desc" /> </div> <div style="color:green;font-size:14px;"> <s:property value="#url.url" /> </div> </div> </s:iterator> </div></td> </tr> </table> <div class="copyright">© 2014 互联网信息技术有限公司</div> </s:form> </body>
效果图:
cloud.jsp 页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="/struts-tags" prefix="s"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <head> <title>网站收藏</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <script type="text/javascript" src="<%=basePath%>/js/jquery-1.3.2.js"></script> <link rel="stylesheet" type="text/css" href="<%=basePath%>/css/styles.css"> <script type="text/javascript"> function add() { window .open( 'toAdd.action', '_blank', 'height=600, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no'); } </script> </head> <body> <s:form name="fav" method="post"> <div class="banner"> <img src="images/logo.gif"></img> 网站收藏 </div> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td style="text-align:right;" valign="top"> <!-- 左边Tag列表 --> <div class="left_labels"> <table class="labels_table" cellspacing="0" cellpadding="0" border="0"> <tr> <td><a href="#" onclick="add();" style="font-weight:bold;">添加书签</a> </td> </tr> <tr> <td><a href="#" onclick="showTags(-1)">全部</a> </td> </tr> <tr> <td><a href="#" onclick="showTags(0)">未分类</a> </td> </tr> <s:iterator id="tag" value="tagList"> <tr> <td><a href="javascript:showTags('${tag.name}')">${tag.name}</a> </td> </tr> </s:iterator> <tr> <td class="selected_label"><a style="font-weight:bold;" href="toCloud.action">云图</a> </td> </tr> </table> </div></td> <td> <!-- 右边fav内容 --> <div class="content_links" id="content"> <div style="padding:30px;width:450px;font-family:verdana;"> <s:iterator id="tag" value="tagList"> <!-- 根据数量显示不同的class --> <a class="tag<s:property value="#tag.count"/>" href="toList.action?type=<s:property value='#tag.name'/>"> <s:property value="#tag.name" /> </a> </s:iterator> </div> </div></td> </tr> </table> <div class="copyright">© 2014 互联网信息技术有限公司</div> </s:form> </body>
效果图:
add.jsp 页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <head> <title>添加书签</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <link rel="stylesheet" type="text/css" href="<%=basePath%>/css/styles.css"> </head> <body> <s:form name="fav" action="doAdd" method="post"> <div class="banner"> <img src="images/logo.gif"></img> 网站收藏 </div> <table border="0" class="input_table"> <tr> <td colspan="2"><s:textfield name="fav.label" size="40" label="名称" /> </tr> <tr> <td colspan="2"><s:textfield name="fav.url" size="40" label="链接" /> </td> </tr> <tr> <td colspan="2"><font color="green">Tag可以多个,用“,”隔开</font> </td> </tr> <tr> <td colspan="2"><s:textfield label="Tag" name="fav.tags" size="40" /> </td> </tr> <tr> <td colspan="2"><s:textarea label="描述" name="fav.desc" rows="4" cols="39"></s:textarea> </td> </tr> <tr> <td><button onclick="window.close();">取消</button> </td> <td><button onclick="this.form.submit();">提交</button> </td> </tr> </table> </s:form> </body>
效果图:
相关推荐
总结来说,`struts.xml` 负责Struts2的Action配置,`applicationContext.xml` 管理Spring的Bean和依赖,而`web.xml` 定义了Web应用的基本结构和组件。这三个文件共同协作,构建了一个功能完善的Java Web应用,实现了...
1. **struts.xml**: 这是Struts 2框架的核心配置文件,定义了Action类、结果类型、拦截器等关键元素。 2. **Action类**: 代表业务逻辑,通常会处理HTTP请求,调用服务层方法,并将结果转发到特定的结果视图。 3. *...
Struts配置文件(struts-config.xml)定义了Action和ActionForm,以及它们与视图之间的映射,使得代码结构清晰,易于维护。 **Hibernate框架** Hibernate是一个流行的ORM框架,它允许开发者用Java对象来表示数据库...
总结起来,SSH集成代理2.0版与Struts.xml中的DelegatingActionProxy代理搭配,提供了一种高效、灵活的MVC框架解决方案,允许开发者在不改动业务逻辑代码的情况下,通过配置文件实现对Action的各种增强功能。...
Struts2通过Action类和配置文件定义了业务逻辑和视图之间的映射,同时支持多种结果类型,如JSP、FreeMarker、Velocity等。 Spring框架则是一个全面的后端解决方案,它包含了依赖注入(DI)、面向切面编程(AOP)、...
总的来说,SSH集成代理2.0版与Struts.xml中控制器的搭配,为Java Web开发提供了一套强大且优化的解决方案。通过理解这些框架的核心原理和整合方式,开发者能够更好地构建高效、可扩展的企业级应用程序。
【标题】"jsp136酒店管理系统ssh+mysql.zip"是一个包含Java Web应用程序的压缩包,主要用于实现酒店管理系统的功能。SSH在这里指的是Spring、Struts和Hibernate三个开源框架的组合,它们是Java开发中常见的MVC...
**项目结构**:一个标准的SSH项目通常会包含多个模块,如Web层(包括JSP页面和Struts2配置)、控制层(Struts2 Action)、服务层(Spring Service)、持久层(Hibernate Entity和DAO)以及配置文件(如struts.xml、...
5. **响应**:Struts 2根据Action执行的结果,决定跳转到哪个JSP页面或者返回JSON等格式的数据。 这个简单的SSH整合案例有助于理解它们各自的功能以及如何相互配合。在实际项目中,SSH框架可以处理更复杂的业务逻辑...
《深入解析JSP SSH项目:基于Struts、Spring和Hibernate的移动应用开发》 SSH(Struts、Spring、Hibernate)是Java开发中的经典MVC框架组合,尤其在企业级应用中广泛使用。在这个名为“移动ssh项目”的源码中,我们...
然后,定义Action类来处理业务逻辑,创建Struts2配置文件(struts.xml)来映射URL请求和Action。最后,制作JSP视图页面,用于用户交互。 2. **Spring**:Spring框架的核心在于依赖注入(DI)和面向切面编程(AOP)。...
在`struts.xml`中配置`DelegatingActionProxy`,可以方便地对Action进行动态代理,添加拦截器以实现诸如事务控制、权限验证等功能,同时结合SSH集成代理1.2版的特定搭配,可以更好地适应项目的需求并优化整体架构。
在Struts2中,一个核心的配置文件是struts.xml,用于配置action映射,包含namespace、action、result等元素。它使用拦截器(interceptor)机制来管理请求的流程,处理输入验证、文件上传等功能。 1. 核心概念: - ...
在这个SSH项目中,你可能会看到诸如Action类、配置文件(如struts.xml、spring.xml、hibernate.cfg.xml)、实体类(Entity)、DAO(数据访问对象)接口和服务类(Service)等不同组成部分。每个部分都有其特定的职责...
**sshdemo**:这个压缩包中的sshdemo项目可能是包含了一个简单的SSH整合示例,可能包括了web.xml、struts.xml、spring配置文件、hibernate配置文件、DAO、Service、Controller层的Java类,以及相关的HTML和JSP页面。...
它通过Action类处理用户请求,并使用配置文件(struts.xml)来定义这些Action的映射。 2. Spring:Spring框架提供了一种强大的依赖注入机制,使得对象之间的依赖关系可以被外部化,增强了代码的可测试性和可维护性...
SSH项目是一种经典的Java Web开发框架组合,由Spring、Hibernate和Struts2三个开源框架组成。这个项目示例提供了一个基于这些技术的简单应用,帮助开发者理解如何将它们整合在一起进行实际开发。 **Spring框架**是...