저는 Grails에 새로운 것이므로 이전에 기존 버튼 기능을 수정하여 컨트롤러에 2 개의 매개 변수를 보내야합니다. this tutorial의 도움으로 내가 작성했습니다 :Grails form g : 컨트롤러에 대한 textField 매개 변수
GSP :
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header"><button type="button" class="close" data-dismiss="modal">×</button><h4 class="modal-title">Some Title</h4></div>
<div class="modal-body">
<g:form>
<div class="input-group">
<span class="input-group-addon">Parameter 1</span>
<g:textField name="parameter1" size="24" class="form-control" />
</div>
<div class="input-group">
<span class="input-group-addon">Parameter 2</span>
<g:textField name="parameter2" size="24" class="form-control" />
</div>
<g:actionSubmit action="myAction" value="Go" class="btn btn-success"
data-toggle="tooltip" data-placement="top"
title="${grailsApplication.config.myTitle}" />
</g:form>
</div>
</div>
</div>
</div>
MyController에 :
// Though it is not mentioned in the tutorial, I've added 2 class properties.
// Otherwise I'd get a groovy.lang.MissingPropertyException
def parameter1
def parameter2
def myAction = {
doSomething(parameter1, parameter2)
}
// previously :
// def myAction = {
// doSomething()
// }
두 개의 매개 변수는 메소드가 호출 될 때 '널 (null)'이다. 매개 변수가 컨트롤러 메소드로 처리되도록하려면 어떻게해야합니까?
함수 호출이 매개 변수없이 제대로 수행되므로 파일 이름, 가져 오기 및 모든 것이 문제가되지 않아야합니다. 이 모달은 매개 변수 1과 매개 변수 2의 값을 가져 오는 데 사용되므로 코드에 새로운 기능입니다. 매개 변수가 컨트롤러 메소드의 서명에없는 한 모달 자체는 잘 작동합니다.
this answer에 따라 "grails clean"을 시도했습니다. 이
// def parameter1 // you do not need this
// def parameter2 // you do not need this
def myAction = {
doSomething(params.parameter1, params.parameter2)
}
이 문제에 대한 정확한 대답입니다. 감사! – philburns