1

我有一个问题,我必须在单击特定行按钮时获取行的特定数据,并且必须通过 ajax 在同一页面上显示该数据。

下面是 index.scala.html 的代码:

@(products: List[Products])

@import helper._
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<h1>@products.size() product(s)</h1>
<table border=1>
<tr>
<td>Product Name</td>
<td>Quantity</td>
<td>Price</td>
</tr>
@for(product <- products) {
    <tr>
        <td>
            @product.productname
        </td>
        <td>
            @product.quantity
        </td>
        <td>        
            @product.price
        </td>
        <td>        

            <input type="button" value="Add Product" name="@routes.Application.user(@product.product_id)" id="but"/>

        </td>
    </tr>
}
</table>


<div class="result" style="border: 1px solid black; padding: 5px;">not sent yet...</div>


<script type="text/javascript">
    jQuery("#but").click(
            function () {
                $.get(jQuery(this).attr("name"), function (data) {
                    $('.result').html(data);
                });
                return false;
            }
    )
</script>

我的 Application.java 包含如下所示的方法:

public static Result user( id){
        return ok("Play's controller told that you're about to get data for user no. "+id);
    }

我面临的问题是:

        **<input type="button" value="Add Product" name="@routes.Application.user(@product.product_id)" id="but"/>**

错误是:编译错误非法启动简单表达式

任何人都可以帮助加载动态数据。

4

1 回答 1

2

请删除第二个@

@routes.Application.user(product.product_id)

第二个不需要,因为第一个表明您使用的是模板语言。

于 2013-01-07T13:54:24.590 回答