Leopard默认定义的特殊参数
- String userAgent 获取浏览器类型,即Request Header中的userAgent.
- int pageId 获取分页页码,默认为1,可以通过URL中的pageId、p、page三个参数指定该变量值.
- int size 获取分页数据条数,默认为10.可以通过URL中的size参数指定该变量值.
- long sessUid 获取session中保存的uid
- String sessUsername 获取session中保存的username(通行证账号)
- long cookieUid 获取cookie中的uid(未做登陆合法性验证)
- long cookieLoginedUid 获取cookie中的uid(经过登陆验证)
- String proxyIp 获取代理服务器IP.
- String sessionId 获取sessionId.
特殊参数用法
src/main/java/io/leopard/guides/web/controller/ParameterController.java
package io.leopard.guides.web.controller;
import io.leopard.web4j.view.JsonView;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class ParameterController {
@RequestMapping
public JsonView userAgent(String userAgent) {
return new JsonView("当前浏览器类型:" + userAgent);
}
@RequestMapping
public JsonView sessUid(long sessUid) {
return new JsonView("当前登陆的uid:" + sessUid);
}
@RequestMapping
public JsonView paging(long pageId, int size) {
return new JsonView("当前页码:" + pageId + " 记录条数" + size);
}
@RequestMapping
public JsonView proxyIp(String proxyIp) {
return new JsonView("当前用户IP(代理服务器):" + proxyIp);
}
}
自定义特殊参数
自定义特殊参数获取cookie中的token字段.
1.创建 src/main/java/io/leopard/guides/web/parameter/TokenParameter.java
package io.leopard.guides.web.parameter;
import io.leopard.web4j.servlet.CookieUtil;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Component;
/**
* 获取cookie中的token字段.
*
* @author 阿海
*
*/
@Component
public class TokenParameter implements io.leopard.web4j.parameter.PageParameter {
@Override
public String getKey() {
return "token";//Controller方法参数用法 "String token"
}
@Override
public String getValue(HttpServletRequest request) {
return CookieUtil.getCookie("token", request);
}
}
2.配置Bean(如果没有使用自动扫描spring bean配置,需要做此项配置)
src/main/resources/applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<span style="color:#ff0000;"><bean class="io.leopard.guides.web.parameter.TokenParameter"/></span>
</beans>
src/main/java/io/leopard/guides/web/controller/TokenController.java
package io.leopard.guides.web.controller;
import io.leopard.web4j.view.JsonView;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class TokenController {
@RequestMapping
public JsonView token(String token) {
return new JsonView("cookie中的token:" + token);
}
}
Summary
恭喜你!您已经学会使用Leopard特殊参数简化Controller方法参数。