我正在运行以下代码。
UserService.java
function dlExcel(){
var bOk = true;
try {
var isFileSaverSupported = !!new Blob;
} catch (e) {
bOk = false;
alert("Votre navigateur ne supporte pas l'expore des fichiers excel, veuillez le metre à jour.");
}
var oReq = new XMLHttpRequest();
oReq.open("GET", "AJXExcel.aspx", true);
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
if (oReq.status == 503){
alert("Une erreur est survenue");
}
else if (oReq.status == 208){
alert("Le fichier demandé comporte trop de ligne, veuillez affiner votre recherche à l'aide des filtres poposé");
}else{
var arrayBuffer = new Uint8Array(oReq.response);
var gunzip = new Zlib.Gunzip(arrayBuffer);
var plain = gunzip.decompress();
var blob = new Blob([plain], {
"type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
});
if(oReq.status == 206)
alert("Le fichier généré comportait trop de lignes, il a donc été tronqué");
saveAs(blob,"resultats.xml");
}
document.getElementById("ctl00_ctl00_MenuContentPlaceHolder_MainContentPlaceHolder_loading").style.display = "none";
document.getElementById("ctl00_ctl00_MenuContentPlaceHolder_MainContentPlaceHolder_param").style.display = "block";
}
if (bOk){
oReq.send(null);
}
}
DB.java
project
/application
/controller
/libraries
/getID3
/getid3
getid3.php
/model
/views
我收到以下错误日志。
$Word = $null
$Word = [System.Runtime.InteropServices.Marshal]::GetActiveObject('word.application')
if ($Word -eq $null)
{
$Word = new-object -ComObject word.application
}
如果在控制台中打印参数,那么是什么导致非法参数异常出现?
请帮忙!
答案 0 :(得分:2)
1)检查参数名称:id
中的拼写错误。这是区分大小写的。
2)尝试不带参数执行查询。它可能是实体映射中的一个问题。
3)尝试在没有HashMap
的查询中直接设置参数。
答案 1 :(得分:0)
我认为这里的问题是由Map
获取params的方式引起的,Map.entrySet()
方法迭代值只能在迭代中使用,并且在它之外是未定义的,这就是为什么在循环期间正确打印参数并且在查询中不存在。
如果你看一下它所说的Map.entry documentation:
这些Map.Entry对象仅在持续时间内有效 迭代;
我建议您更改存储和使用参数的方式,只需使用List<Object>
存储参数或直接在方法调用中传递id
参数:
public <T> List<T> findRecords(Class<T> entityClass, String entityAlias, String select, String where, Long id){
然后直接在查询中附加此值:
query.setParameter("id", id);