ソースを参照

createToken 增加返回值

James 5 年 前
コミット
c19094cd16

+ 6 - 6
src/main/java/com/jfinal/core/Controller.java

@@ -968,23 +968,23 @@ public abstract class Controller {
 	 * @param tokenName the token name used in view
 	 * @param secondsOfTimeOut the seconds of time out, secondsOfTimeOut >= Const.MIN_SECONDS_OF_TOKEN_TIME_OUT
 	 */
-	public void createToken(String tokenName, int secondsOfTimeOut) {
-		com.jfinal.token.TokenManager.createToken(this, tokenName, secondsOfTimeOut);
+	public String createToken(String tokenName, int secondsOfTimeOut) {
+		return com.jfinal.token.TokenManager.createToken(this, tokenName, secondsOfTimeOut);
 	}
 	
 	/**
 	 * Create a token with default token name and with default seconds of time out.
 	 */
-	public void createToken() {
-		createToken(Const.DEFAULT_TOKEN_NAME, Const.DEFAULT_SECONDS_OF_TOKEN_TIME_OUT);
+	public String createToken() {
+		return createToken(Const.DEFAULT_TOKEN_NAME, Const.DEFAULT_SECONDS_OF_TOKEN_TIME_OUT);
 	}
 	
 	/**
 	 * Create a token with default seconds of time out.
 	 * @param tokenName the token name used in view
 	 */
-	public void createToken(String tokenName) {
-		createToken(tokenName, Const.DEFAULT_SECONDS_OF_TOKEN_TIME_OUT);
+	public String createToken(String tokenName) {
+		return createToken(tokenName, Const.DEFAULT_SECONDS_OF_TOKEN_TIME_OUT);
 	}
 	
 	/**

+ 7 - 3
src/main/java/com/jfinal/token/TokenManager.java

@@ -56,15 +56,17 @@ public class TokenManager {
 	 * @param tokenName token name
 	 * @param secondsOfTimeOut seconds of time out, for ITokenCache only.
 	 */
-	public static void createToken(Controller controller, String tokenName, int secondsOfTimeOut) {
+	public static String createToken(Controller controller, String tokenName, int secondsOfTimeOut) {
 		if (tokenCache == null) {
 			String tokenId = String.valueOf(random.nextLong());
 			controller.setAttr(tokenName, tokenId);
 			controller.setSessionAttr(tokenName, tokenId);
 			createTokenHiddenField(controller, tokenName, tokenId);
+			
+			return tokenId;
 		}
 		else {
-			createTokenUseTokenIdGenerator(controller, tokenName, secondsOfTimeOut);
+			return createTokenByGenerator(controller, tokenName, secondsOfTimeOut);
 		}
 	}
 	
@@ -77,7 +79,7 @@ public class TokenManager {
 		controller.setAttr("token", sb.toString());
 	}
 	
-	private static void createTokenUseTokenIdGenerator(Controller controller, String tokenName, int secondsOfTimeOut) {
+	private static String createTokenByGenerator(Controller controller, String tokenName, int secondsOfTimeOut) {
 		if (secondsOfTimeOut < Const.MIN_SECONDS_OF_TOKEN_TIME_OUT) {
 			secondsOfTimeOut = Const.MIN_SECONDS_OF_TOKEN_TIME_OUT;
 		}
@@ -96,6 +98,8 @@ public class TokenManager {
 		controller.setAttr(tokenName, tokenId);
 		tokenCache.put(token);
 		createTokenHiddenField(controller, tokenName, tokenId);
+		
+		return tokenId;
 	}
 	
 	/**