SSH整合中strtus2问题

发布于 2021-11-17 22:29:16 字数 3443 浏览 676 评论 1

本人刚学习java不久,昨天做ssh整合遇到了个奇葩问题。

做一个显示管理员列表界面的时候,管理员(admin)和角色(role)为多对多关系

有一个功能要根据角色名称查询所有的管理员列表,我将搜索的名称jsp界面和Action属性定义为checkName

结果每次点击分页gopageAction(page),角色搜索框就会莫名其妙的出现一个逗号,而地址栏里的请求参数却没有逗号。

为什么角色搜索框会莫名其妙的多处一个","啊啊????求大虾帮忙解决啊!!!

JSP界面相关代码

搜索框

<div>角色:<input type="text" class="text_search width200" name="checkName" value="${checkName}"/></div>
<div><input type="submit" value="搜索" class="btn_search" /></div>

js代码分页 goPageAction(page)


function goPageAction(page){
            	document.getElementById("formId").action = "adminList.action?page="+page+"&checkName=${checkName}";
            	document.getElementById("formId").submit();            	
}


显示角色列表的Action


package com.tarena.netctoss.action.admin;

import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.annotation.Resource;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import com.tarena.netctoss.action.bean.BaseAction;
import com.tarena.netctoss.dao.IAdminDao;
import com.tarena.netctoss.dao.IRoleDao;
import com.tarena.netctoss.pojo.Admin;
import com.tarena.netctoss.pojo.Role;
@Controller
@Scope("prototype")
public class AdminListAction extends BaseAction{
	//用于搜索的角色名
	private String checkName;
	private List<Admin> admins;
	private int page=1;
	private int pageSize;
	private int totalPage;
	@Resource
	private IAdminDao adminDao;
	@Resource
	private IRoleDao roleDao;
	public String execute(){
		System.out.println("checkName:"+checkName);
		Integer[] ids = null;
		try {
			//如果搜索条件checkName不为空
			if(checkName!=null){
				Set<Integer> set = new HashSet<Integer>();
				//根据角色名查找角色
				List<Role> roles = roleDao.findByName(checkName.trim());
				//若果没有找到角色直接返回
				if(roles.isEmpty()||roles == null){
					return "success";
				}else{//若果找到了获取对应的管理员ids
					for(Role role : roles){				
						for(Admin a : role.getAdmins()){
							set.add(a.getId());
						}
					}
					ids = set.toArray(new Integer[set.size()]);
				}
			}				
			admins = adminDao. findBypage(page, pageSize, ids);
			totalPage = adminDao.getTotalpage(pageSize,ids);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "success";
		
	}
	public List<Admin> getAdmins() {
		return admins;
	}
	public void setAdmins(List<Admin> admins) {
		this.admins = admins;
	}
	public int getPage() {
		return page;
	}
	public void setPage(int page) {
		this.page = page;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getTotalPage() {
		return totalPage;
	}
	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}
	public String getCheckName() {
		return checkName;
	}
	public void setCheckName(String checkName) {
		this.checkName = checkName;
	}
	
	
}

AdminListAction的checkName输出结果

checkName:, 

地址栏(没有逗号)

http://127.0.0.1:8080/spring10/admin/adminList.action?page=2&checkName=

界面的搜索框(有逗号)



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

韬韬不绝 2021-11-19 01:27:42

document.getElementById("formId")这个里面的Id怎么没有贴出来啊!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文