Google AppEngine - Java - Slim3 - 在新视图中显示对象(从键检索)属性



我是新手Google AppEngine程序员,所以请原谅我的无知xD

我使用的是Slim3 MVC框架,所以我用Java编码。

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

索引.jsp [提取](列出所有对象的视图):

<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");

但是之后我能做些什么来传递这个键来查看(编辑视图)并准确显示我想要的对象(在检索到的键处分配)?

我回答自己:

我的控制器.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");
    }
}

编辑.jsp [摘录]

...
<p>myObject properties:</p>
prop1: ${f:h(myObject.prop1)}<br />
prop2: ${f:h(myObject.prop2)}<br />
...

tnx MASSIMILIANO.对于需要更多详细信息的人:

编辑服务.java

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

最新更新