2012-08-30 113 views
0

我正在通过google app engine tutorials如何在java中创建超链接?

我很新的谷歌应用程序引擎,Java和一般的网络编程。所以我的问题是,在页面的底部,它说添加一个链接,允许用户注销。到目前为止,我有这样的:

public void doGet(HttpServletRequest req, HttpServletResponse resp) 
     throws IOException { 
    UserService userService = UserServiceFactory.getUserService(); 
    User user = userService.getCurrentUser(); 

    if(user != null){ 
     resp.setContentType("text/plain"); 
     resp.getWriter().println("Hello, " + user.getNickname()); 

     String logoutLink = String.format("<a href=\"%s\">Click here to log out.</a>", 
      userService.createLogoutURL(req.getRequestURI())); 
     resp.getWriter().println(logoutLink); 
    }else { 
     resp.sendRedirect(userService.createLoginURL(req.getRequestURI())); 
    } 
} 

然而,而不是一个链接,满弦被打印在屏幕上,包括标签。当我查看页面源时,我没有任何标签或任何其他网页内容。我想这是有道理的,因为我没有做任何事情输出任何。我只是做了一堆resp.GetWriter()。println()语句来输出网页的其余部分,还是有一些我不知道的东西?

谢谢!

+1

resp.setContentType('text/plain')表示你想纯文本,而不是HTML(带有链接和其他标签) – Thilo

回答

4

您需要将内容类型更改为text/html而不是text/plain<a href链接是一个html elemt。然后,只有浏览器才会将其重新链接为链接。

+0

啊,这是有道理的。非常感谢! – ConditionRacer

+0

快速跟进的问题..为了有一个完整的网页与等,我需要输出这一切手工或有一些网页对象,我可以填写和调用write()方法或东西? – ConditionRacer

+2

@ Justin984,你不需要像这样在代码中手工创建html。有很多框架可以为你完成这项工作。例如,wicket和freemarker框架可以用来渲染html O/P为你。 – UVM