我知道的存在@Before和@After,但@After发生在模板的渲染之后执行
几乎所有的控制器都扩展了我的特定类,我想,不引人注目地,能够在我的超类中执行一些代码来检查某些条件,并在子类中执行代码后设置一些flash/renderArgs ,但是在渲染完成之前
任何简单的方法来实现这一点?
编辑:这是一段代码
class MyController extends Controller {
@After
static void checkStage() {
if (xyz) {
flash.put("stage", "bla");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的控制器都扩展了,MyController但由于checkStage代码在渲染完成后被调用,stage因此下次渲染页面时将呈现flash属性
实际上,我想使用flash.now而不是flash.put,但因为代码@After代码在渲染后执行,它永远不会出现
在PlayN项目中,我有以下 Java 代码
import com.google.common.base.Charsets;
import java.nio.ByteBuffer;
ByteBuffer msg = ... // a ByteBuffer that contains a String
String s = Charsets.UTF_8.decode(msg).toString();
Run Code Online (Sandbox Code Playgroud)
这在 Java 中运行良好,但是当我尝试使用 GWT 编译它时,我得到:
The method decode(ByteBuffer) is undefined for the type Charset
在 GWT 中,获取 ByteBuffer 中的字符串(以 UTF-8 编码)的正确方法是什么?