如果網站需要實作手機和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。
以上文章純屬自創,如有雷同,概不負責!