-
struts2的s:url怎么实现结合displaytag传递参数3
struts1可以这样写:
<display:column media="html" style="text-align:center" title="Edit">
<html:link page="/user_del.do"
paramId="id"
paramName="mytable"
paramProperty="id">
<bean:message key="label.delete"/>
</html:link>
</display:column>
可是struts2要怎么写呢,搞的头都快大了。。。
waiting on line!
问题补充:Anddy 写道是用s:url去取另外一个标签的value值么?
恩,是的
<display:table name="users" pagesize="5" defaultsort="3"
requestURI="/userList.action" class="displaytag" id="mytable">
<display:column property="id" style="text-align:center" />
。。。
</display:table>
<s:url value="userDel.action" >
<s:param name="id" value="'${mytable.id}'"></s:param>
</s:url>
我是这样写的。可是取不到id的值
问题补充:Anddy 写道通过JSTL中的c:set来传值。先把参数设到request中,之后就可以在struts标签中通过#request方式把参数读出来了
如下方式<c:set value= "${mytable.id}" var= "id" scope= "request" ></c:set> <s:url value="userDel.action" > <s:param name="id" value="'${request.id}'"></s:param> </s:url>
后面是空的,没有取到
userDel.action?id=
问题补充:Anddy 写道用ognl这样取值
<c:set value= "${mytable.id}" var= "id" scope= "request" ></c:set> <s:url value="userDel.action" > <s:param name="id" value="#request.id"></s:param> </s:url>
还是空值。。
问题补充:Anddy 写道<s:property value="#request.id" />
这样看看有没有这个值。
显示这个:
${mytable.id}
说明没取到
问题补充:Anddy 写道或者是你没配置好jstl
如下配置过程:
- 拷贝jstl.jar,standard.jar文件到Web-INF/lib目录下
- 在引用JSP页面加上: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
这些是没有问题的。。。
问题补充:Anddy 写道或者是你没配置好jstl
如下配置过程:
- 拷贝jstl.jar,standard.jar文件到Web-INF/lib目录下
- 在引用JSP页面加上: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib uri="http://displaytag.sf.net" prefix="display"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!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>User Info</title>
<link rel="stylesheet" type="text/css" href="css/displaytag.css" />
</head>
<body>
<display:table name="users" pagesize="5" defaultsort="3"
requestURI="/userList.action" class="displaytag" id="mytable">
<display:column property="id" style="text-align:center" />
<display:column property="username" style="text-align:center" />
<display:column property="password" style="text-align:center" />
<display:column property="sex" style="text-align:center"
sortable="true" />
<display:column property="age" style="text-align:center" />
<display:column property="email" style="text-align:center" />
<display:column media="html" style="text-align:center" title="Edit">
<c:set value= "${mytable.id}" var= "id" scope= "request" ></c:set>
<a href=""
>
<s:url value="userDel.action" >
<s:param name="id" value="#request.id"></s:param>
</s:url>
</a></display:column>
</display:table>
<s:property value="#request.id"/>
</body>
</html>2010年5月12日 14:32
6个答案 按时间排序 按投票排序
-
采纳的答案
注意后台传过来的id是不是为空。
根据这篇文章没错的。
http://csinfo.blog.hexun.com/17760145_d.html2010年5月12日 21:56
-
或者是你没配置好jstl
如下配置过程:
- 拷贝jstl.jar,standard.jar文件到Web-INF/lib目录下
- 在引用JSP页面加上: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2010年5月12日 15:27
-
用ognl这样取值
<c:set value= "${mytable.id}" var= "id" scope= "request" ></c:set> <s:url value="userDel.action" > <s:param name="id" value="#request.id"></s:param> </s:url>
2010年5月12日 15:15
-
通过JSTL中的c:set来传值。先把参数设到request中,之后就可以在struts标签中通过#request方式把参数读出来了
如下方式<c:set value= "${mytable.id}" var= "id" scope= "request" ></c:set> <s:url value="userDel.action" > <s:param name="id" value="'${request.id}'"></s:param> </s:url>
2010年5月12日 14:59
相关推荐
总结起来,Struts2实现分页的第二种方法主要是通过使用第三方库如DisplayTag,结合自定义Action和JSP页面,实现数据的动态加载和分页链接的生成。这种方式简化了视图层的代码,提高了代码的可维护性和用户体验。然而...
Struts2通过拦截器和Action类结合JSP来实现这一功能。 1. **配置Struts2**: 在项目中引入Struts2的核心库,并在`struts.xml`配置文件中定义Action,指定处理分页请求的类和方法。例如: ```xml ...
在Struts2中,这些参数可以作为Action类的成员变量,通过表单提交或者URL参数传递。 3. **结果集处理**:服务器端根据接收到的参数执行分页查询,并将结果集封装成Java对象。这些对象可以是简单的POJO(Plain Old ...
1. JSP中的标签库:Struts2提供了丰富的标签库,可以利用`s:iterator`标签遍历分页结果集,`s:url`和`s:param`标签创建分页链接。 2. 页面状态管理:为了保持分页状态,通常会将页码和每页记录数作为隐藏字段或URL...
例如,使用开源的`DisplayTag`库或者`Struts2-Pagination`插件可以快速实现分页功能。 4. **Action类中的分页处理** 在Action类中,需要计算总页数,根据当前页数和每页记录数来确定查询的起始位置和结束位置,...
2. **配置文件**:`struts-config.xml`是Struts的主要配置文件,用于定义Action、ActionForm、Forward等元素,以及映射URL到Action的规则。 3. **ActionForm**:ActionForm对象承载了来自用户输入的数据,它在请求...
4. **请求参数传递**:在URL中,通常会携带页码和每页数量等分页参数,如"?page=1&rows=10"。这些参数需要在Action类中进行解析,并用于数据库查询。 5. **视图层(View)**:在JSP页面上,分页标签会根据Action...
在Struts中,我们使用`displaytag`或`struts2-pagination`等库来实现分页标签。这里以`displaytag`为例,它是一个强大的开源JSP标签库,提供了分页、排序等功能。 **安装displaytag** 在项目中引入displaytag的jar...
另外,Struts的标签库如DisplayTag和Struts Tags,提供了一系列方便的标签用于数据展示和表单处理。 七、异常处理 Struts支持全局的异常处理机制,通过配置文件可以定义当特定异常发生时应跳转到哪个错误页面,这样...
6. **分页插件**:为了简化开发,Struts2提供了许多第三方插件,如DisplayTag、PagingTaglib等,它们提供了预定义的标签库,可以方便地在JSP页面上实现分页效果。 7. **URL参数**:在分页请求中,通常需要将当前...
9. **Interceptor(拦截器)**:拦截器是Struts2引入的一个强大特性,它在Action执行前后插入一系列预定义或自定义的方法,可以实现事务管理、日志记录、权限控制等功能。 学习Struts,除了理解这些核心组件外,还...
例如,可以使用DisplayTag或Struts2的DisplayTable标签来渲染分页导航。这些标签库提供了内置的分页功能,只需要设置相应的属性,如页面大小、URL参数等,就可以轻松实现分页显示。 此外,为了优化性能,我们还可以...
标签库如Struts2的DisplayTag或Tiles可以帮助我们更好地组织和展示视图内容。例如,使用<s:form>标签创建表单,<s:textfield>定义输入字段,<s:submit>定义提交按钮,以及<s:actionerror>显示错误信息。 在实际项目...
SSH(Struts+Spring+Hibernate)是一个经典的Java Web开发框架,它结合了Struts的MVC设计模式、Spring的依赖注入以及Hibernate的对象关系映射工具,大大简化了企业级应用的开发工作。在这个名为"ssh.zip_SSH分页_ssh...
当用户点击分页链接时,Struts2会根据URL参数更新currentPage的值,并重新执行上述步骤,从而实现分页效果。 在实际开发中,为了代码复用和减少重复工作,我们通常会使用第三方插件或自定义拦截器来处理分页逻辑。...
2. **Action**:Action是业务逻辑处理的类,实现了.struts.action.Action接口。每个Action对应一个用户操作,负责将用户的请求转化为对业务对象的操作。 3. **ActionForm**:表单对象,用于封装用户在页面上填写的...
这可以通过URL参数实现,例如`/list.action?page=1&rows=10`。 5. **分页导航**:在JSP页面上,我们需要创建一个导航栏,显示页码链接。这可以通过循环和条件判断来实现,确保正确链接到每个页面。 6. **优化与...
- Struts2提供了一系列的标签库,如`struts2-core.jar`中的OGNL标签库,使得开发者能够在JSP页面中更方便地访问模型数据,如`<s:property>`标签用于显示属性值。 - `displaytag`库提供了分页和排序功能,增强了...