Bozho 建议的一个例子,我用这种方式登录 facebook。
设想:
我在 application.properties 中有一个属性,我在facebook-login-sdk.js
初始化 facebook 登录时需要这个值。所以我LoginController
通过下面的代码在java中读取它,然后读取它login.jsp
并分配一个全局变量applicationFacebookId
然后在facebook-login-sdk.js
文件中使用这个全局变量。
重要说明:在包含 facebook-login-sdk.js 之前阅读变量名称 applicationFacebookId。因为您将使用一个全局变量,所以您想在调用 facebook-login-sdk.js 之前设置它。
应用程序属性
security.application.facebookId=yourApplicationFacebookid
登录控制器.java
@Value("${security.application.facebookId}")
private String applicationFacebookId;
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String login(HttpServletRequest request, Model model) {
model.addAttribute("applicationFacebookId", applicationFacebookId);
return "login";
}
登录.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<script>
var applicationFacebookId = '${applicationFacebookId}';
//alert('applicationFacebookId:' + applicationFacebookId);
</script>
<title>Login Page</title>
<script src="<c:url value="/static/js/facebook-login-sdk.js" />"></script>
</head>
</html>
facebook-登录-sdk.js
window.fbAsyncInit = function() {
FB.init({
appId : applicationFacebookId,
cookie : true, // enable cookies to allow the server to access
xfbml : true,
version : 'v2.7'
});