搞编码搞得好囧阿
赶紧笔记啊啊啊啊啊啊
jQuery的getJSON,只调用了一次前台回调函数,后台servlet都有执行。
后来发现是我的resp设成了gbk的关系,ajax传数据用的utf-8。
然后用post传到servlet,jsp传参用的ISO-8859-1,因此用new String(req.getParameter("name").getBytes("ISO-8859-1"), "utf-8")来转换。
太吐血了啊啊啊 = =
JS比较两个字符串是否相等
用==即可。。但是。。我尝试弹出来的data信息是"exist",而data == 'exist'却返回了false……
用encodeURIComponent看data,发现最后多了%0A%0D,百度一下 用来是换行,
检查servlet,果然写了out.println……把ln去掉再次比较 成功 = =
js小数的四舍五入。。
调用toFixed(n)函数即可。。。n表示保留n位小数,eg:
-
function countTotalPrice(num) {
-
var x = num * ${requestScope.good.retailPrice};
-
document.getElementById("totalPrice").value = x.toFixed(2);
-
}
JSTL forEach的索引。。
使用varStatus的index属性即可:
-
<c:forEach var="sell" items="${sellList.list}" varStatus="idx">
-
${idx.index}
-
</c:forEach>
Hibernate中的对象状态
还是上经典状态图:
相对ClassPath getResource目录名带中文或空格问题解决
原来是
getClass().getClassLoader().getResource(".").getPath()
在遇到中文或空格时会转成utf-8格式显示(如空格显示%20),此时用java.net.URLDecorder来转码即可。
JavaSE中的几个set对应的比较方法。。
- HashSet:调用hashCode()方法
- TreeSet:对象必须实现Comparable接口,因为它要调用compareTo方法。
- CopyOnWriteArraySet(来自java.util.concurrent包):调用equals方法。
刚刚写一个Set本来要用HashSet,hashCode想不出来怎么写取值 囧 就写了equals方法 用CopyOnWriteArraySet来实现。
OGRE中使用overlay脚本。。
比较简单。。笔记下,这里使用了ogreCore的LoadingOverlay,暂时只用了这些内容 - -
- 获得Overlay*:Overlay* pOverlay = OverlayManager::getSingleton().getByName("Core/LoadOverlay");
- 显示Overlay*:pOverlay->show();
- 隐藏Overlay*:pOverlay->hide();
- 获得Overlay中名为"Core/LoadPanel/Bar/Progress"的元素:OverlayElement* pElement = OverlayManager::getSingleton().getOverlayElement("Core/LoadPanel/Bar/Progress");
- 更新元素某属性的值:pElement->setWidth(30); // 如宽度
注意有些属性OverlayElement都有,有些要强制转换为脚本中的类型才能设定。 - 更新元素显示:pElement->_update();