解决方案 »

  1.   

    一般你调用这个方法的时候,就已经获取到了username和ip的值,
    调用的时候直接传给它
      

  2.   

    代码://bean
    public class UserEntity { String username;
    String password;
    public String getUsername() {
    return username;
    }
    public void setUsername(String username) {
    this.username = username;
    }
    public String getPassword() {
    return password;
    }
    public void setPassword(String password) {
    this.password = password;
    }


    }
    //action
    public class UserAction extends ActionSupport implements ServletRequestAware, ServletResponseAware{
    private UserEntity userEntity;
    @Autowired
    private AdminService adminService ;
    protected HttpServletRequest request;
    public String login(){
    adminService(userEntity.getUsername() ,userEntity.getPassword(),getIpAddr(request)) ;

    }
    public UserEntity getUserEntity() {
    return userEntity;
    }
    public void setUserEntity(UserEntity userEntity) {
    this.userEntity = userEntity;
    }
    public static String getIpAddr(HttpServletRequest request) {
            String ip = request.getHeader("x-forwarded-for");
            if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getHeader("Proxy-Client-IP");
            }
            if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getHeader("WL-Proxy-Client-IP");
            }
            if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                ip = request.getRemoteAddr();
            }
            return ip;
        }

    }
    //jsp:
    <form>
    <input name="userEntity.userName"/>
    <input name="userEntity.password"/>
    </form>//说明:主要使用方法如上,但已经足够说明传值的方式了