如何使用struts标签在jsp中创建对象?

时间:2011-10-25 11:30:14

标签: java google-app-engine struts2

我正在谷歌应用引擎上开发基于struts的应用程序。我正在使用谷歌的用户服务,允许用户登录我的应用程序。

当用户登录其Google帐户并打开我的应用程序时,我的应用程序不得要求再次登录。假设我的应用程序的主页是index.jsp,它应该说

欢迎用户xyz@gmail.com

为此,我必须检查当前是否有这样的用户

<%
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if(user == null)
    //login link
else
    //Welcome message
%>

但我不应该在我的应用程序中使用scriptlet。我必须使用struts标签来实现这一点。

非常感谢任何帮助。谢谢你们提前和美好的一天。

1 个答案:

答案 0 :(得分:0)

首先,您需要注册登录会话的用户。您必须创建一个操作,您将把支票帐户的代码放入Google:

public LoginAction {

    @Action(...)
    public String login () {
        UserService userService = UserServiceFactory.getUserService();
        User user = userService.getCurrentUser();
        ActionContext.getContext().getSession().put("user", user);
        return "success";
    }
}

然后您将在任何jsp上提供该用户。 jsp代码类似于:

<s:if test="#session.user == null">
    //login link
</s:if>
<s:else>
    //Welcome message
</s:else>

当用户注销时,您只需删除会话对象。

如果你需要在他的Google帐户中注销用户,则需要一个拦截器来检查它是否仍然一直被记录。