支持在我的Java类,我试图做类似HttpServletResponse的issue.setCharacterEncoding:依赖属性没有被现代编译器
HttpServletResponse.setCharacterEncoding("UTF-8");
但代码失败的消息编译:
现代编译器不支持Depend属性。
如果我删除此行,代码编译没有任何问题。
任何人都可以对此有所了解吗?
感谢
支持在我的Java类,我试图做类似HttpServletResponse的issue.setCharacterEncoding:依赖属性没有被现代编译器
HttpServletResponse.setCharacterEncoding("UTF-8");
但代码失败的消息编译:
现代编译器不支持Depend属性。
如果我删除此行,代码编译没有任何问题。
任何人都可以对此有所了解吗?
感谢
HttpServletResponse.setCharacterEncoding()不是一个静态方法。你需要在一个实例上调用它。喜欢的东西:(假设你的实例名为resp
)
resp.setCharacterEncoding("UTF-8");
或者,你可以在Content-type
头这样设置字符编码:
resp.setContentType("text/html; charset=UTF-8")
编辑:好吧,你的意见,我看你已经在做这个。我从字面上理解了这个问题的措词。无论如何,这个问题很可能是因为您正在使用javac
并启用了依赖关系跟踪。这是一个可以在命令行上传递的标志(或者属性为<javac>
ant任务)。关闭依赖关系跟踪。 Sun的编译器不支持它。
为什么它没有说通常的事情:*“非静态属性不能从非静态上下文中调用”*(或类似的东西)它适用于编译器版本吗? – OscarRyz 2009-12-22 23:17:08
OP必须在打开依赖关系跟踪的情况下编译。这是一个可以在命令行上传递的标志(或者在javac ant任务中)。 Sun的编译器不支持它。 – Asaph 2009-12-22 23:22:25
我实际上使用了HttpServletResponse的一个实例。我只是输入HttpServletResponse.setCharact ....来使类/对象的名称完全创建,但它结束了创建更多的混淆。所以要清楚..我正在使用类似 resp.setCharacterEncoding(...); 其中resp是HttpServletResponse的一个实例 – makhan10 2009-12-22 23:23:16