我对grails非常陌生,也许这是我问的最简单的问题。 我正在创建一个非常简单的自我学习应用程序,我创建了一个登录页面。登录成功后,应读取xml文件并显示输出结果。任何人都可以请示例说明这一点。也请告诉我应该是对XML文件的文件夹位置,下面是我的代码:? UserController.groovy如何在grails中读取xml文件?
class UserController {
def index = { }
def login = {
def user = User.findWhere(username:params['username'],
password:params['password'])
session.user = user
if (user) {
redirect(action:display)
}
else {
redirect(url:"http://localhost:8080/simple-login/")
}
}
def display = {
def stream = getClass().classLoader.getResourceAsStream("grails-app/conf/sample.xml")
return [data: XML.parse(stream)]
}
}
myxml.gsp
<html>
<body>
<p>Please find the details below:</p>
<p>${data}</p>
</body>
</html>
URLMappings.groovy
class UrlMappings {
static mappings = {
"/user/login" (controller: "user" ,action: "login")
"/user/display"(controller:"user" ,action:"display")
"/"(view:"/index")
"500"(view:'/error')
}
}
现在我已经有index.gsp作为用户登录时显示的第一页,是否可以在URLMappings中指定多个视图?也正如其中一个答复中所建议的那样,如果我必须定义一个名为“myxml”的动作并直接指向诸如“/ controller”/ myxml之类的URL,那么这将是什么?请帮忙!
只是创建一个动作myxml和视图myxml.gsp,然后去到URL/“控制器”/myxml – netbrain 2011-05-19 12:59:52
夫妇在这里的东西... – AndrewW 2014-01-31 05:33:41
1. XML.parse()只需要一个字符串或一个HttpServletRequest,你想例如。 XML.parse(流,“UTF-8”)或您正在使用的任何编码。 2.如果my-file.xml位于“grails-app/conf”目录中,则只需要.getResourceAsStream(“my-file.xml”) – AndrewW 2014-01-31 05:39:17