gpt4 book ai didi

grails - 如何在Grails中读取xml文件?

转载 作者:行者123 更新时间:2023-12-02 14:09:27 24 4
gpt4 key购买 nike

我对grails非常陌生,也许这将是我所提出的最简单的问题。
我正在创建一个用于登录的登录页面的自学习应用程序。成功登录后,应读取xml文件并显示输出。任何人都可以用示例示例来说明这一点。另外请告诉xml文件的文件夹位置应该是什么?下面是我的代码:
UserController.groovy

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中指定多个 View ?另外,正如其中一项答复中所建议的那样,如果我必须定义一个名为“myxml”的 Action 并直接指向诸如“/ controller” / myxml之类的URL,那在哪里?请帮忙!

最佳答案

在这里,我将xml文件放在webapp/xmls/目录下,并解析abc.xml文件

def parse ( ) {
// Getting context path here
def webRootDir = sch.servletContext.getRealPath ("/")

// Create a new file instance
def f = new File (webRootDir + "/xmls/" + "abc.xml")

// Parxing XML file here
def items = new XmlParser ( ).parseText( f.text )

// iterating through XML blocks here
items.question.each {
// Creating domain class object to save in DB
def question = new Question ( )
def node = it
question.with {
qtext = node.qtext.text()
answer = node.answer.text()
if (!hasErrors() && save(flush: true)) {
log.info "mcq saved successfully"
} else
errors.allErrors.each {
err->
log.error err.getField() + ": "
log.error err.getRejectedValue() + ": " + err.code
}
}
}
}

这是样本XML(abc.xml)文件:
<qns>
<question id="q1">
<qtext> First letter of alphabet is?</qtext>
<answer>A<answer>
</question>

<question id="q2">
<qtext> Second letter of alphabet is?</qtext>
<answer>A<answer>
</question>
.
.
.
.
</qns>

希望这会有所帮助..

关于grails - 如何在Grails中读取xml文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6055307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com