在上个网上商城项目中 用到了页面请求,url超链接,这里总结下structs2常用的几个页面请求超链接处理标签<s:action>,<s:a action>和 <s:url>。
1.<s:action>标签:进入页面自动加载处理请求,类似与Ajax局部刷新
用法:
<s:action name="admin_top" namespace="/admin" execut
eResult="true">头部</s:action>
例子:main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>后台管理科帮网</title>
</head>
<%@include file="/WEB-INF/pages/common/common_admin.jsp"%>
<div id="box">
<!-- top -->
<s:action name="admin_top" namespace="/admin" executeResult="true">头部</s:action>
<div id="mid">
<!-- left -->
<s:action name="admin_left" namespace="/admin" executeResult="true"></s:action>
<!-- right -->
<iframe name="abc" scrolling="auto" frameborder="0" width="705" height="500"></iframe>
<%--
<s:action name="admin_right" namespace="/admin" executeResult="true"></s:action>
--%>
</div>
<div id="bottom"></div>
</div>
</html>
2.<s:a action>标签:超链接标签,需要手动 点击才触发,把Action配置成项目相应的路径,类似与<s:a href>标签
用法:
<s:a action="cart_list" namespace="/product">
<img src="${context_path}/css/images/index_03.gif" width="28"
height="14" /> 我的购物车</s:a> | <s:a action="order_findByCustomer"
namespace="/product">我的订单</s:a>
例子:index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GO购网络商城by科帮网</title>
<STYLE type="text/css">
</STYLE>
<SCRIPT type="text/javascript">
if (self != top) {
top.location = self.location;
}
</SCRIPT>
</head>
<body>
<%@include file="/WEB-INF/pages/common/head.jsp"%>
<div id="box">
<div id="left">
<div id="left_s01"><s:a action="customer_login" namespace="/customer"><img
src="${context_path}/css/images/index_23.gif" class="imgx5" /></s:a>
<s:a action="customer_reg" namespace="/customer"><img
src="${context_path}/css/images/index_26.gif" class="imgx5" /></s:a><img
src="${context_path}/css/images/index_27.gif" /></div>
<div id="left_s02"><img
src="${context_path}/css/images/index_25.gif" width="489" height="245"
class="imgz5" /></div>
<!-- 类别 -->
<s:iterator value="categories">
<div id="left_x">
<div id="left122">
<table style="float: left;height: auto;width: 678px; vertical-align: middle; ">
<tr>
<td class="word14" style="width: 22px; padding-left: 10px;">
<s:property value="name"/>
</td>
<td style="padding-bottom: 3px;">
<div id="left122_y">
<!-- 二级 -->
<s:if test="!children.isEmpty">
<s:iterator value="children">
<div style="white-space:nowrap; width: 28%;float: left; margin-top: 5px; margin-bottom: 5px; margin-left: 26px;">
<b style="color: #990000;"><s:property value="name" escape="false"/></b>
<!-- 三级 -->
<s:if test="!children.isEmpty">
<span>
<s:iterator value="children">
<s:a action="product_getByCategoryId" namespace="/product">
<s:param name="category.id" value="id"></s:param>
<s:property value="name" escape="false"/>
</s:a>
</s:iterator>
</span>
</s:if>
</div>
</s:iterator>
</s:if>
</div>
</td>
</tr>
</table>
</div>
</div>
</s:iterator>
</div>
<div id="right">
<!-- 商品排行 -->
<div id="rqpgb">
<table width="195" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td width="195" height="31"><img
src="${context_path}/css/images/index_28.gif" width="195" height="29" /></td>
</tr>
<tr>
<td height="5"></td>
</tr>
<tr>
<td valign="top">
<s:action name="product_findByClick" namespace="/product" executeResult="true"></s:action>
</td>
</tr>
</table>
</div>
<!-- 推荐商品 -->
<div id="xpss">
<table width="195" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td width="195" height="31"><img
src="${context_path}/css/images/08.gif" width="195" height="29" /></td>
</tr>
<tr>
<td height="5"></td>
</tr>
<tr>
<td valign="top">
<s:action name="product_findByCommend" namespace="/product" executeResult="true"></s:action>
</td>
</tr>
</table>
</div>
<!-- 热销商品 -->
<div id="rxsp">
<table width="195" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td width="195" height="31"><img
src="${context_path}/css/images/index_47.gif" width="195" height="29" /></td>
</tr>
<tr>
<td height="5"></td>
</tr>
<tr>
<td valign="top">
<s:action name="product_findBySellCount" namespace="/product" executeResult="true"></s:action>
</td>
</tr>
</table>
</div>
<div id="sckf"></div>
</div>
<div id="foot"></div>
</div>
</body>
</html>
3.<s:url >标签:定义Url,然后可以引用
用法:
<s:url action="category_add" namespace="/admin/product"
var="category_add"></s:url>
<div id="category_title">类别管理</div>
<div id="category_sub">
<a target="abc" href="${category_add}">添加类别</a>
</div>
例子:left.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/pages/common/common_admin.jsp" %>
<!-- 类别 -->
<s:url action="category_add" namespace="/admin/product"
var="category_add"></s:url>
<s:url action="category_list" namespace="/admin/product"
var="category_list"></s:url>
<!-- 商品 -->
<s:url action="product_add" namespace="/admin/product" var="product_add"></s:url>
<s:url action="product_list" namespace="/admin/product"
var="product_list"></s:url>
<!-- 订单 -->
<s:url action="order_list" namespace="/admin/product" var="order_list"></s:url>
<s:url action="order_query" namespace="/admin/product" var="order_query"></s:url>
<div id="left">
<div id="left_top"></div>
<div id="left_mid">
<div id="category_title">类别管理</div>
<div id="category_sub">
<a target="abc" href="${category_add}">添加类别</a>
</div>
<div id="category_sub">
<a target="abc" href="/Shop1/admin/product/category_list.do">查看所有类别${category_list}</a>
</div>
<div id="category_title">商品管理</div>
<div id="category_sub">
<a target="abc" href="${product_add}">添加商品</a>
</div>
<div id="category_sub">
<a target="abc" href="${product_list}">查看所有商品</a>
</div>
<div id="category_title">订单管理</div>
<div id="category_sub">
<a target="abc" href="${order_list}">查看订单</a>
</div>
<div id="category_sub">
<a target="abc" href="${order_query}">订单查询</a>
</div>
</div>
</div>
分享到:
相关推荐
2. `<s:action>`标签用于在Struts2的配置文件中声明一个action。它在处理Web请求时起到关键作用。 3. `<s:actionerror>`和`<s:actionmessage>`分别用于显示action产生的错误信息和消息信息。 4. `<s:append>`标签...
2. `<html:text>`:这个标签用于创建文本输入框,它将JSP页面中的字段与ActionForm对象的属性绑定。`name`属性对应于ActionForm中的字段名,而`value`属性可以设置默认值。 3. `<html:password>`:与`<html:text>`...
通过`s:url`和`s:param`设置当前页的前一页和后一页的URL,再用`s:a`标签创建超链接,实现了分页导航功能。 ### 配置文件Struts.xml 配置文件是Struts2框架的核心,用于定义各种Action、拦截器、结果类型等。尽管...
<tr><td>性别:</td><td><s:radio name="xs.xb" list="#{1:'男',0:'女'}" value="1"></s:radio></td></tr> <tr><td>专业:</td><td><s:textfield name="xs.zy" label="专业"></s:textfield></td></tr> <tr><td>...
本教程的"PPT"部分可能涵盖了JSP的基础知识,如JSP语法、EL和JSTL的使用,以及Struts框架的配置、ActionForm、Action和标签库的实战应用。通过学习"ch9.ppt"和"ch8.ppt",你可以深入理解JSP和Struts如何协同工作,...
本文将详细介绍Struts2框架中有关URL配置的相关知识点,包括请求转发、内部action处理以及请求重定向等核心概念,并深入探讨Struts2中 `<s:url>` 标签的应用。 #### 请求转发至JSP页面 在Struts2中,默认情况下,...
2. `structs-taglib.jar`:提供JSP标签库支持,使得在JSP页面中可以方便地使用Structs的特性,如`<s:form>`、`<s:property>`等。 3. `structs-servlet.jar`:Servlet监听器和过滤器,负责初始化Structs框架并处理...
Struts提供了丰富的标签库,这些标签库主要分为两个部分:JSP标准标签库(JSTL)和Struts自定义标签库。JSTL用于处理通用的JSP任务,如迭代、条件判断等;而Struts自定义标签则专门用于处理MVC框架相关的任务,如...
- `<url-pattern>`:所有的以`.do`结尾的URL都会被映射到这个ActionServlet上。 3. **初始化参数**: ```xml <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.ActionServlet...
<s:form action="addEmployee"> <s:textfield name="employee.name" label="姓名"/> <s:textfield name="employee.age" label="年龄"/> <s:submit value="添加"/> </s:form> <!-- listEmployees.jsp --> <s:...
Struts通过使用JSP的Struts标签库(struts tags)来简化页面的编写,如`<s:property>`用于显示模型数据,`<s:form>`用于创建表单,`<s:submit>`用于提交表单等。 4. **控制器(Controller)**:控制器负责接收HTTP...
在Struts 1中,标签库是实现视图层与控制器层交互的重要工具,使得开发者可以方便地在JSP页面中处理用户输入、展示数据和控制流程。 ### 一、STRUTS1.X 工作原理 Struts 1 的工作流程主要包括以下几个步骤: 1. ...
<url-pattern>/*</url-pattern> </filter-mapping> ``` **方法二:配置Structs拦截器** Structs框架允许自定义拦截器来处理请求和响应。我们可以在拦截器中设置字符编码。创建一个实现`Interceptor`接口的类,...
<url-pattern>/*</url-pattern> </filter-mapping> ``` `FilterDispatcher`在初始化时会查找并读取`struts.xml`配置文件。 4. **配置文件`struts.xml`**: - Struts2的默认配置文件是`struts.xml`,位于`WEB-...
在探讨Structs2核心过滤器之前,我们先简要了解Structs2框架的基本概念与应用场景。Struts2是Apache组织下的一个开源Web应用框架,它继承了Struts1的优点,并在此基础上进行了诸多改进,比如引入拦截器机制、支持...
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class> </servlet> ``` 这里定义了一个名为`action`的servlet,其类名为`org.apache.struts.action.ActionServlet`。无论应用中有多少个子...
10. **JSP标签库**:Struts提供了一系列的JSP标签,如`<html:form>`,`<logic:iterate>`等,使JSP页面更加简洁和易读。 在使用Struts API时,你需要了解每个组件的作用,以及它们如何通过配置文件协同工作。同时,...
JSP(JavaServer Pages)用于创建动态HTML,通过使用JSP动作标签(如`<s:property>`,`<s:form>`等)与Struts 1框架进行交互。Struts 1提供了许多内置标签库,如DisplayTag、Tiles等,帮助开发者更方便地构建视图。...