我无意中遇到了gwt似乎没有办法解决的问题。
我已经创建了一个具有许多动态裁剪图像的复合小工具,因此我可以像平铺地图一样移动裁剪。一切都很顺利,直到我开始使用json作为描述布局的TextResource。ui绑定器在我的例子中不起作用。
我让ClientBundleWithLookup和ConstantsWithLookup工作得很好,但是没有对CSS类进行查找。就像在许多示例中一样,style()的查找给出了原始css文件的这个模糊的块-但是没有办法将这些乱七八糟的名称映射到css和json定义中的原始名称。
然后我想到了一种替代方法,那就是以TextResource而不是CssResource的形式发送css,并手动处理它。在花了一整天的时间这样做之后-浏览器上没有样式,因为生成的gwt javascript一旦在浏览器中运行就会查找这些乱七八糟的名称。
我需要一种在运行时查找css样式名称的方法,理想的做法是也有一个CssResourceWithLookup类。而且没有反射,所以我无法将java方法映射到setStyleName()的方法。
我还在谷歌上发现了一种生成这些名称的调试映射的方法--然而,我看不出这对我有什么实际帮助,因为这些名称在每次编译后都会发生变化。所以我完全被卡住了。我只是不明白gwt团队怎么会在一半的资源包上没有实现这个“查找”功能。
有没有人有办法解决这个问题-好吗?
发布于 2014-03-15 20:00:49
@external可能会对您有所帮助:它关闭了类名混淆。
在MyStyles.css中:
@external .style1, .style2;
.style1{
color: green;
}
.style2{
color: red;
}在您的Java代码中:
myTile1.addStyleNames("style1");
myTile2.addStyleNames("style2");https://stackoverflow.com/questions/22385719
复制相似问题