如果网站需要实现手机和PC双界面适应,可以有两种方式:
第一种是响应式界面,根据屏幕宽度来判定显示的格式。这种需要前端来做,手机/PC共用一套代码,有一定的局限性。
第二种是Java后台通过request请求头中的内容来分析客户端设备类型,从而返回不同的参数响应。这种方法需要前端写两套代码,根据Java后台返回的参数不同而跳转到不同的界面。
代码示例如下:
struts.xml:
<action name="method" class="com.fyc.action.**Action" method="method">
<result name="Mobile"><!-- 手机端页面地址 --></result>
<result name="success"><!-- PC端页面地址 --></result>
</action>
controller层:
<!-- 处理数据 -->
HttpServletRequest request = ServletActionContext.getRequest();
String requestHeader = request.getHeader("user-agent");
if(IsMobileUtil.isMobileDevice(requestHeader))
return "Mobile";
else
return SUCCESS;
判断客户端工具类:
package com.**.**;
/**
* 根据请求头判断是手机还是电脑
* @author live
* @date
*/
public class IsMobileUtil {
/**
* android : 所有android设备
* mac os : iphone ipad
* windows phone:Nokia等windows系统的手机
*/
public static boolean isMobileDevice(String requestHeader){
String[] deviceArray = new String[]{"android","mac os","windows phone"};
if(requestHeader == null)
return false;
requestHeader = requestHeader.toLowerCase();
for(int i=0;i<deviceArray.length;i++){
if(requestHeader.indexOf(deviceArray[i])>0){
return true;
}
}
return false;
}
}
以上工具类,是手机就返回true,不是则返回false。
以上文章纯属自创,如有雷同,概不负责!