`

Structs2标签之<s:action>,<s: a action >和<s:url

阅读更多
在上个网上商城项目中 用到了页面请求,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>
分享到:
评论

相关推荐

    Structs2标签(初学者).pdf

    2. `&lt;s:action&gt;`标签用于在Struts2的配置文件中声明一个action。它在处理Web请求时起到关键作用。 3. `&lt;s:actionerror&gt;`和`&lt;s:actionmessage&gt;`分别用于显示action产生的错误信息和消息信息。 4. `&lt;s:append&gt;`标签...

    Struts标签文档

    2. `&lt;html:text&gt;`:这个标签用于创建文本输入框,它将JSP页面中的字段与ActionForm对象的属性绑定。`name`属性对应于ActionForm中的字段名,而`value`属性可以设置默认值。 3. `&lt;html:password&gt;`:与`&lt;html:text&gt;`...

    struts2增删改查,struts2分页查询

    通过`s:url`和`s:param`设置当前页的前一页和后一页的URL,再用`s:a`标签创建超链接,实现了分页导航功能。 ### 配置文件Struts.xml 配置文件是Struts2框架的核心,用于定义各种Action、拦截器、结果类型等。尽管...

    实验考试一.doc

    &lt;tr&gt;&lt;td&gt;性别:&lt;/td&gt;&lt;td&gt;&lt;s:radio name="xs.xb" list="#{1:'男',0:'女'}" value="1"&gt;&lt;/s:radio&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;专业:&lt;/td&gt;&lt;td&gt;&lt;s:textfield name="xs.zy" label="专业"&gt;&lt;/s:textfield&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;...

    JSP_Struts入门教程+例子.ppt.zip

    本教程的"PPT"部分可能涵盖了JSP的基础知识,如JSP语法、EL和JSTL的使用,以及Struts框架的配置、ActionForm、Action和标签库的实战应用。通过学习"ch9.ppt"和"ch8.ppt",你可以深入理解JSP和Struts如何协同工作,...

    struts2中的url

    本文将详细介绍Struts2框架中有关URL配置的相关知识点,包括请求转发、内部action处理以及请求重定向等核心概念,并深入探讨Struts2中 `&lt;s:url&gt;` 标签的应用。 #### 请求转发至JSP页面 在Struts2中,默认情况下,...

    搭建structs环境所有的jar包

    2. `structs-taglib.jar`:提供JSP标签库支持,使得在JSP页面中可以方便地使用Structs的特性,如`&lt;s:form&gt;`、`&lt;s:property&gt;`等。 3. `structs-servlet.jar`:Servlet监听器和过滤器,负责初始化Structs框架并处理...

    struts标签的使用

    Struts提供了丰富的标签库,这些标签库主要分为两个部分:JSP标准标签库(JSTL)和Struts自定义标签库。JSTL用于处理通用的JSP任务,如迭代、条件判断等;而Struts自定义标签则专门用于处理MVC框架相关的任务,如...

    Structs中基本配置入门

    - `&lt;url-pattern&gt;`:所有的以`.do`结尾的URL都会被映射到这个ActionServlet上。 3. **初始化参数**: ```xml &lt;servlet&gt; &lt;servlet-name&gt;action&lt;/servlet-name&gt; &lt;servlet-class&gt;org.apache.struts.ActionServlet...

    struts2实现在jsp页面对员工的增删改查操作

    &lt;s:form action="addEmployee"&gt; &lt;s:textfield name="employee.name" label="姓名"/&gt; &lt;s:textfield name="employee.age" label="年龄"/&gt; &lt;s:submit value="添加"/&gt; &lt;/s:form&gt; &lt;!-- listEmployees.jsp --&gt; &lt;s:...

    structs 实战例子

    Struts通过使用JSP的Struts标签库(struts tags)来简化页面的编写,如`&lt;s:property&gt;`用于显示模型数据,`&lt;s:form&gt;`用于创建表单,`&lt;s:submit&gt;`用于提交表单等。 4. **控制器(Controller)**:控制器负责接收HTTP...

    struts 1的标签的用法详细

    在Struts 1中,标签库是实现视图层与控制器层交互的重要工具,使得开发者可以方便地在JSP页面中处理用户输入、展示数据和控制流程。 ### 一、STRUTS1.X 工作原理 Struts 1 的工作流程主要包括以下几个步骤: 1. ...

    处理Structs乱码的3种方法

    &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; ``` **方法二:配置Structs拦截器** Structs框架允许自定义拦截器来处理请求和响应。我们可以在拦截器中设置字符编码。创建一个实现`Interceptor`接口的类,...

    使用structs2快速开发

    &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; ``` `FilterDispatcher`在初始化时会查找并读取`struts.xml`配置文件。 4. **配置文件`struts.xml`**: - Struts2的默认配置文件是`struts.xml`,位于`WEB-...

    Structs2核心过滤器

    在探讨Structs2核心过滤器之前,我们先简要了解Structs2框架的基本概念与应用场景。Struts2是Apache组织下的一个开源Web应用框架,它继承了Struts1的优点,并在此基础上进行了诸多改进,比如引入拦截器机制、支持...

    初学者入门:Structs中基本配置入门

    &lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt; &lt;/servlet&gt; ``` 这里定义了一个名为`action`的servlet,其类名为`org.apache.struts.action.ActionServlet`。无论应用中有多少个子...

    structs api

    10. **JSP标签库**:Struts提供了一系列的JSP标签,如`&lt;html:form&gt;`,`&lt;logic:iterate&gt;`等,使JSP页面更加简洁和易读。 在使用Struts API时,你需要了解每个组件的作用,以及它们如何通过配置文件协同工作。同时,...

    structs1导入包;struts学习

    JSP(JavaServer Pages)用于创建动态HTML,通过使用JSP动作标签(如`&lt;s:property&gt;`,`&lt;s:form&gt;`等)与Struts 1框架进行交互。Struts 1提供了许多内置标签库,如DisplayTag、Tiles等,帮助开发者更方便地构建视图。...

Global site tag (gtag.js) - Google Analytics