如何发送选定的href <a> tag value back to java method using velocity tempelate</a>

时间:2014-11-20 15:46:39

标签: java html jstl velocity

这是我的代码:

     #foreach( $reportGroup in ${orgReport.reportGroupList})
        <br><tr><a href="${reportGroup.ReportGroupName}">${reportGroup.ReportGroupName}</a></tr><br>
     #end 

它呈现这样的细节

Monthly
Quarterly
Yearly

1 个答案:

答案 0 :(得分:1)

  

我的问题是,如果有人点击&#34;每月&#34;我想根据点击的值将此值发送到java方法我将呈现下一页。

好的,您的问题主要不是关于速度,而是关于如何在基于Java的服务器环境中处理来自Web浏览器的请求,基本上是servlet。

当您单击href时,浏览器会在正常情况下向服务器发送GET请求。该请求包含您使用velocity或任何其他视图技术生成的URL中定义的参数。

<a href="myResource?param1=foo&param2=bar>Click me!</a>

点击此处,您将点击向资源myResource发送请求以及分别具有param1param2值的参数foobar

您需要有一个资源,例如periodHandler来处理这种请求,或者是一个专用的servlet,它读取请求参数并转发到下一页或下一页本身。然后在HTML生成模板中使用它,将值作为参数传递:

#foreach( $reportGroup in ${orgReport.reportGroupList})
    <br><tr>
        <a href="periodHandler?period=${reportGroup.ReportGroupName}">
            ${reportGroup.ReportGroupName}</a>
    </tr><br>
 #end 

然后你可以在你的java代码中做这样的事情

String period = request.getParameter("period");    
// period will contain either Monthly, Quarterly or Yearly
// do what ever you want with the value in the variable period