`
乌托邦之爱
  • 浏览: 279076 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

sh的web开发get表单提交搜索功能

阅读更多
<%@ page language="java"  pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"     
                    "http://www.w3.org/TR/html4/loose.dtd">   
                    
<html>   
<head>   
  <title>asdf</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>   
<body>
<!-- 分页搜索功能 start -->
<form id="signupForm" method="get" action="mytest.action">
        <input id="user_name" name="user_name"  value="${user_name}"/>
    <input type="submit" value="提交"/>
</form>
<table>
   <tr>
      <th>姓名</th>
      <th>密码</th>
   </tr>
   <s:iterator id="list" value="#request.pagelist">
	   <tr>
	      <td><s:property value="#list.name"/></td>
	   </tr>
    </s:iterator>
</table>

 <!--首页 -->
					<c:choose>
							<c:when test="${currentpage == 1}">
								首页
							</c:when>
							
							<c:otherwise>
								<a href="mytest.action?pages=1&user_name=${keyencode}" style="color: blue;">首页</a><!--user_name=${keyencode}翻页时传值的关键之处-->
							</c:otherwise>
					</c:choose>
						
						
					<!-- 上一页 -->
					<c:choose>
							<c:when test="${up == 0}">
								上一页
							</c:when>
							
							<c:otherwise>
								<a href="mytest.action?pages=${up}&user_name=${keyencode}" style="color: blue;">上一页</a>
							</c:otherwise>
					</c:choose>
						
					<!-- 连续分页 -->
					<c:forEach items="${listArrayList}" var="listArrayList">
						<c:choose>
							<c:when test="${listArrayList == currentpage}">
								[${listArrayList}]
							</c:when>
							
							<c:otherwise>
								<a href="mytest.action?pages=${listArrayList}&user_name=${keyencode}" style="color: blue;">${listArrayList}</a>
							</c:otherwise>
						</c:choose>
					</c:forEach>
					
					<!-- 下一页 -->
					<c:choose>
							<c:when test="${next == 0}">
								下一页
							</c:when>
							
							<c:otherwise>
								<a href="mytest.action?pages=${next}&user_name=${keyencode}" style="color: blue;">下一页</a>
							</c:otherwise>
						</c:choose>
					
					<!-- 尾页 -->
				    <c:choose>
							<c:when test="${currentpage == totalpage}">
								尾页
							</c:when>
							
							<c:otherwise>
								<a href="mytest.action?pages=${totalpage}&user_name=${keyencode}" style="color: blue;">尾页</a>
							</c:otherwise>
					</c:choose>
					
					<!-- 分页搜索功能 end -->
</body>   
</html>   

 

 

package test.action;




import java.net.URLEncoder;
import java.util.List;


import test.dao.UserDAO;
import test.util.Pages.Pages;
import test.util.s2services.Services;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class MytestAction extends ActionSupport{

	private String user_name;//获取搜索关键字
	private int user_age;
	private String user_sex;
	private List pagelist;
	private String keyencode;//页面获取此16进制编码
	
	
	public String getKeyencode() {
		return keyencode;
	}
	public void setKeyencode(String keyencode) {
		this.keyencode = keyencode;
	}
	public List getPagelist() {
		return pagelist;
	}
	public void setPagelist(List pagelist) {
		this.pagelist = pagelist;
	}
	public int getUser_age() {
		return user_age;
	}
	public void setUser_age(int user_age) {
		this.user_age = user_age;
	}
	public String getUser_name() {
		return user_name;
	}
	public void setUser_name(String user_name) {
		this.user_name = user_name;
	}
	public String getUser_sex() {
		return user_sex;
	}
	public void setUser_sex(String user_sex) {
		this.user_sex = user_sex;
	}
	
	@Override
	public String execute() throws Exception {
		if(getUser_name()!=null)//转换的关键地方
		{
			setUser_name(new String(getUser_name().getBytes("iso8859-1"),"utf-8"));//将页面以get形式传过来的乱码关键字转换成中文,并且页面传过来的16进制码也可以通过此方法转换成中文
			setKeyencode(URLEncoder.encode(getUser_name(),"utf-8"));//将搜索的关键字变成utf-8形式的16进制编码传给页面
		}
		int page=0;
		if(Services.request().getParameter("pages")==null)page=1;
		else page=Integer.parseInt(Services.request().getParameter("pages"));
		UserDAO userDAO=new UserDAO();
		int count=userDAO.objectFindByValue("%"+getUser_name()+"%", "from User where name like ?").size();
		List list=userDAO.productIndexFindPage(2, page, "User", "name like '%"+getUser_name()+"%'", "id");
		List pagelist=Pages.pages(2, 20, count, list);
		setPagelist(pagelist);
		
		return SUCCESS;
	}
}

 

 

此文章主要用于个人知识储备使用,附带源码,如果觉得好的可以收藏,如果觉得不够完善可以自己修改,或提出意见,小弟虚心接受

源码网址:http://download.csdn.net/source/2479199

0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics