0

我是一个新手 Google AppEngine 编码器,所以请原谅我的无知 xD

我正在使用 Slim3 MVC 框架,所以我使用 Java 进行编码。

我有一个视图中显示的对象列表,我想通过单击适当的链接来编辑一个对象。我提供了一个带有相关视图的编辑控制器,我以这种方式将密钥传递给控制器​​:

Index.jsp [extract](列出所有对象的视图):

<c:forEach var="tweet" items="${tweetList}">
    ...
    <a href="edit?key=${f:h(tweet.key)}">edit</a>
    ...
</c:forEach>

编辑控制器:

    public class EditController extends Controller {

    @Override
    public Navigation run() throws Exception {
        Key tweetKey = asKey("key");
        return forward("edit.jsp");
    }
}

在控制器中,我可以从 url 中检索密钥

Key tweetKey = asKey("key");

但是在传递这个键以查看(编辑视图)并准确显示我想要的对象(在检索到的键处分配)之后,我该怎么办?

4

2 回答 2

1

我自己回答:

MyController.java [提取]

public class MyController extends Controller {
    private MyService service = new MyService();

    @Override
    public Navigation run() throws Exception {
        Key myKey = asKey("key");
        MyObject myObject = service.getObject(myKey);
        requestScope("myObject", myObject);
        return forward("edit.jsp");
    }
}

Edit.jsp [摘录]

...
<p>myObject properties:</p>
prop1: ${f:h(myObject.prop1)}<br />
prop2: ${f:h(myObject.prop2)}<br />
...
于 2012-06-21T09:19:32.523 回答
1

tnx 马西米利亚诺。对于需要更多细节的人:

编辑服务.java

...
private MyObjectMeta n = new MyObjectMeta();  

public news getObject(Key myKey) {
    // TODO Auto-generated method stub
    return Datastore.get(n, myKey);

}
...
于 2012-06-24T13:45:14.630 回答