首页 > 技术文章 > 搜索框带参搜索

yanglanwan 2018-12-17 16:27 原文

搜索框提交后无法显示搜索词:

java代码:

  1 package njupt.microcredit.action;
  2 
  3 import java.util.ArrayList;
  4 import java.util.List;
  5 import java.util.Map;
  6 
  7 import javax.servlet.ServletContext;
  8 import javax.servlet.http.HttpServletRequest;
  9 
 10 import org.apache.struts2.ServletActionContext;
 11 import org.apache.struts2.interceptor.RequestAware;
 12 
 13 import com.opensymphony.xwork2.ActionSupport;
 14 
 15 import njupt.microcredit.entity.BusinessInfo;
 16 import njupt.microcredit.entity.CompanyInfo;
 17 import njupt.microcredit.entity.CustBasicInfo;
 18 import njupt.microcredit.entity.CustomerInfo;
 19 import njupt.microcredit.entity.LegalPersonInfo;
 20 import njupt.microcredit.service.IBusinessInfoService;
 21 import njupt.microcredit.service.ICompanyInfoService;
 22 import njupt.microcredit.service.ICustBasicInfoService;
 23 import njupt.microcredit.service.ICustomerInfoService;
 24 import njupt.microcredit.service.ILegalPersonInfoService;
 25 
 26 public class CustomerManageAction extends ActionSupport implements RequestAware{
 27 
 28 
 29 /**
 30 * 确定对私客户的搜索条件
 31 */
 32 String firstCondition;
 33 public void setFirstCondition(String firstCondition) {
 34 this.firstCondition = firstCondition;
 35 }
 36 public String getFirstCondition() {
 37 return firstCondition;
 38 }
 39 
 40 String phoneNum;
 41 public String getPhoneNum() {
 42 return phoneNum;
 43 }
 44 public void setPhoneNum(String phoneNum) {
 45 this.phoneNum = phoneNum;
 46 }
 47 /**
 48 * 确定对公客户的搜索条件
 49 */
 50 String companyName ;
 51 String licenseNum ;
 52 String legalPerson ;
 53 public String getCompanyName() {
 54 return companyName;
 55 }
 56 public void setCompanyName(String companyName) {
 57 this.companyName = companyName;
 58 }
 59 public String getLicenseNum() {
 60 return licenseNum;
 61 }
 62 public void setLicenseNum(String licenseNum) {
 63 this.licenseNum = licenseNum;
 64 }
 65 public String getLegalPerson() {
 66 return legalPerson;
 67 }
 68 public void setLegalPerson(String legalPerson) {
 69 this.legalPerson = legalPerson;
 70 /*** 模糊查询寻找单个或同类客户信息
 71 
 72 * @return
 73 */
 74 public String searchResult() {
 75 
 76 HttpServletRequest req = ServletActionContext.getRequest();
 77 String firstCondition = req.getParameter("firstCondition");
 78 String phoneNum = req.getParameter("phoneNum");    
 79 //使搜索条件显示在搜索栏中
 80 conditionSet.add(firstCondition);
 81 conditionSet.add(phoneNum);    
 82 //    //打印语句看是否搜得到
 83 System.out.println(firstCondition+" "+phoneNum);
 84 
 85 //去除传入的参数前后的空格
 86 firstCondition = firstCondition.trim();
 87 phoneNum = phoneNum.trim();    
 88 //打印语句看是否搜得到
 89 System.out.println(firstCondition+" "+phoneNum);
 90 //执行查询
 91 List<Object[]> privateList = customerInfoService.selectFuzzyQuery(firstCondition, phoneNum);
 92 
 93 System.out.println(privateList.size());
 94 request.put("privateList", privateList);
 95 return "searchList";
 96 }
 97 
 98 /**
 99 * 模糊查询寻找单个或同类企业客户信息
100 * @return
101 */
102 public String searchPublicResult() {
103 //获取jsp页面传输的内容
104 HttpServletRequest req = ServletActionContext.getRequest();
105 String companyName = req.getParameter("companyName").trim();
106 String licenseNum = req.getParameter("licenseNum").trim();
107 String legalPerson = req.getParameter("legalPerson").trim();
108 
109 
110 List<Object[]> publicList = companyInfoService.selectFuzzyQuery(companyName, licenseNum, legalPerson);
111 request.put("publicList", publicList);
112 return "publicResult";
113 }
114 
115 //接收框架运行时传入的request的Map集合
116 private Map<String, Object> request;
117 @Override
118 public void setRequest(Map<String, Object> request) {
119 this.request = request;    
120 }
121 
122 }

jsp页面:

解决方式:Action中封装搜索条件:

 

package njupt.microcredit.action;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.RequestAware;

import com.opensymphony.xwork2.ActionSupport;

import njupt.microcredit.entity.BusinessInfo;
import njupt.microcredit.entity.CompanyInfo;
import njupt.microcredit.entity.CustBasicInfo;
import njupt.microcredit.entity.CustomerInfo;
import njupt.microcredit.entity.LegalPersonInfo;
import njupt.microcredit.service.IBusinessInfoService;
import njupt.microcredit.service.ICompanyInfoService;
import njupt.microcredit.service.ICustBasicInfoService;
import njupt.microcredit.service.ICustomerInfoService;
import njupt.microcredit.service.ILegalPersonInfoService;

public class CustomerManageAction extends ActionSupport implements RequestAware{
    
    /**
     * 封装操作的实体对象
     */
    private CustBasicInfo custBasicInfo = new CustBasicInfo();
    public void setCustBasicInfo(CustBasicInfo custBasicInfo) {
        this.custBasicInfo = custBasicInfo;
    }
    public CustBasicInfo getCustBasicInfo() {
        return custBasicInfo;
    }
    
    private CustomerInfo customerInfo;
    public void setCustomerInfo(CustomerInfo customerInfo) {
        this.customerInfo = customerInfo;
    }
    public CustomerInfo getCustomerInfo() {
        return customerInfo;
    }
    
    private CompanyInfo companyInfo;
    public void setCompanyInfo(CompanyInfo companyInfo) {
        this.companyInfo = companyInfo;
    }
    public CompanyInfo getCompanyInfo() {
        return companyInfo;
    }
    
    private BusinessInfo businessInfo;
    public void setBusinessInfo(BusinessInfo businessInfo) {
        this.businessInfo = businessInfo;
    }
    public BusinessInfo getBusinessInfo() {
        return businessInfo;
    }
    
    private LegalPersonInfo legalPersonInfo;
    public void setLegalPersonInfo(LegalPersonInfo legalPersonInfo) {
        this.legalPersonInfo = legalPersonInfo;
    }
    public LegalPersonInfo getLegalPersonInfo() {
        return legalPersonInfo;
    }
    
    /*******************注入Service**********************/
    private ICustBasicInfoService custBasicInfoService;
    public void setCustBasicInfoService(ICustBasicInfoService custBasicInfoService) {
        this.custBasicInfoService = custBasicInfoService;
    }
    
    private ICustomerInfoService customerInfoService;
    public void setCustomerInfoService(ICustomerInfoService customerInfoService) {
        this.customerInfoService = customerInfoService;
    }
    
    private ICompanyInfoService companyInfoService;
    public void setCompanyInfoService(ICompanyInfoService companyInfoService) {
        this.companyInfoService = companyInfoService;
    }
    
    private ILegalPersonInfoService legalPersonInfoService;
    public void setLegalPersonInfoService(ILegalPersonInfoService legalPersonInfoService) {
        this.legalPersonInfoService = legalPersonInfoService;
    }
    
    private IBusinessInfoService businessInfoService;
    public void setBusinessInfoService(IBusinessInfoService businessInfoService) {
        this.businessInfoService = businessInfoService;
    }
    
    /**
     * 确定对私客户的搜索条件
     */
    String firstCondition;
    public void setFirstCondition(String firstCondition) {
        this.firstCondition = firstCondition;
    }
    public String getFirstCondition() {
        return firstCondition;
    }
    
    String phoneNum;
    public String getPhoneNum() {
        return phoneNum;
    }
    public void setPhoneNum(String phoneNum) {
        this.phoneNum = phoneNum;
    }
    /**
     * 确定对公客户的搜索条件
     */
    String companyName ;
    String licenseNum ;
    String legalPerson ;
    public String getCompanyName() {
        return companyName;
    }
    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }
    public String getLicenseNum() {
        return licenseNum;
    }
    public void setLicenseNum(String licenseNum) {
        this.licenseNum = licenseNum;
    }
    public String getLegalPerson() {
        return legalPerson;
    }
    public void setLegalPerson(String legalPerson) {
        this.legalPerson = legalPerson;
    }

    
    
    /************个人贷款信息操作者显示**************/
    
    public String privateCustomer() {
        
        List<Object[]> privateList = customerInfoService.selectByOtherInfo();
        
        request.put("privateList", privateList);
        
        return "privateList";
        
    }
    
    /**
     * 模糊查询寻找单个或同类客户信息
     * @return
     */
    public String searchResult() {
        
        //去除传入的参数前后的空格
        firstCondition = firstCondition.trim();
        phoneNum = phoneNum.trim();    
        //打印语句看是否搜得到
        System.out.println(firstCondition+" "+phoneNum);
        //执行查询
        List<Object[]> privateList = customerInfoService.selectFuzzyQuery(firstCondition, phoneNum);
        
        System.out.println(privateList.size());
        request.put("privateList", privateList);
        return "searchList";
    }
    
    
    /************企业贷款信息操作者显示**************/
    public String publicCustomer() {
        List<Object[]> publicList = companyInfoService.selectOtherCompanyInfo();
        
        request.put("publicList", publicList);
        
        return "publicList";
    }
    /**
     * 模糊查询寻找单个或同类企业客户信息
     * @return
     */
    public String searchPublicResult() {
        companyName = companyName.trim();
        licenseNum = licenseNum.trim();
        legalPerson = legalPerson.trim();
        
        List<Object[]> publicList = companyInfoService.selectFuzzyQuery(companyName, licenseNum, legalPerson);
        request.put("publicList", publicList);
        return "publicResult";
    }
    
    
    //接收框架运行时传入的request的Map集合
    private Map<String, Object> request;
    @Override
    public void setRequest(Map<String, Object> request) {
        this.request = request;    
    }

}

 

jsp页面:

 

推荐阅读