处理页面html<html>
<head>
<title>对接结果</title>
</head>
<body>
<%
String subcat = RequestUtil.getString(request,"subcat","0");
String themecat = RequestUtil.getString(request,"themecat","0");
String menucat = RequestUtil.getString(request,"menucat","0");
out.print("<BR>选中主题分类:"+subcat);
out.print("<BR>选中体裁分类:"+themecat);
out.print("<BR>选中目录组配分类:"+menucat);
String id=(String)session.getAttribute("sessionid");
String[] ids=null;
ids=id.split("\\,");
boolean butted=false;
if(id==null )
{
out.write("<br/><table align='center' width='400px' border='0' cellpadding='2' cellspacing='1' class='table'><tr><td class='main_title'>TecamoCMS 提示信息!</td></tr>");
out.print("<tr><td align='center'>参数不正确! <a href='#' onclick='window.close()'>关闭</a></td></tr></table>");
out.print("</body></html>");
}
else
{
out.write("<br/><table align='center' width='400px' border='0' cellpadding='2' cellspacing='1' class='table'><tr><td class='main_title'>TecamoCMS 提示信息!</td></tr>");
try
{
ButtDAO buttdao = new ButtDAO();
for(int i=0;i<ids.length;i++)
{
ButtModel buttmodel=(ButtModel)buttdao.getByids(ids[i]);
Map hashMap=new HashMap();
hashMap.put("objectid","0");
String content=buttmodel.getBody();
hashMap.put("content", content);
hashMap.put("title", buttmodel.getTitle());
hashMap.put("filenum", buttmodel.getFilenum());
hashMap.put("keywords", buttmodel.getKeywords());
hashMap.put("pubdate", DateUtil.getFormatString(buttmodel.getPubdate(),"yyyy-MM-dd"));
String publisher=buttmodel.getPublisher();
if(publisher=="")
{
publisher="广东省新闻出版局";
}
hashMap.put("publisher",publisher);
hashMap.put("subcat", subcat);
hashMap.put("themecat", themecat);
hashMap.put("menucat", menucat);
butted=buttdao.isbuttarchive(hashMap); //两次
ReportedDao repDao = new ReportedDao();
ReportedModel repmdl=new ReportedModel();
long aid=Long.parseLong(ids[i]);
repmdl.setButted(butted);
repmdl.setArchiveId(aid);
repDao.inbutted(repmdl);
if(butted)
{
out.write("<tr><td bgcolor='ffffff' align='center' ><br/>");
out.write(buttmodel.getTitle()+"<BR>对接成功!");
out.write("<br/></td></tr>");
}
}
}
catch (Exception e)
{
out.write("<tr><td bgcolor='ffffff' align='center' ><br/><br/>");
out.write("出现异常,对接失败!");
out.write("<br/><br/></td></tr>");
out.write("<tr><td class='form_input'><br/><br/>");
out.write( e.getMessage() );
out.write("<br/><br/></td></tr>");
e.printStackTrace();
}
out.write(" <tr>");
out.write(" <td bgcolor='ffffff' align='center' >");
out.write(" <a href='#' onclick='window.close();'>确定</a>");
out.write(" </td>");
out.write(" </tr>");
out.write("</table>");
}
%>
</body>
</html>java函数isbuttarchive
public boolean isbuttarchive(Map hashMap){
String sResult=null;
String sTargetEndpointAddress="http://211.75.66.12/wcm/services/trswcm:importGovInfoService";
Service service=new Service();
Call call=null;
String _userName="广东省新闻出版局";
Map _hashMap=new HashMap();
_hashMap=hashMap;
try{
call=(Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(sTargetEndpointAddress));
call.setOperationName(new QName("http://service.wcm.trs.com","importGovInfoDocuments"));
Object[] parameters={_hashMap,_userName};
sResult=(String)call.invoke(parameters);
System.out.println(sResult);
return true;
}catch(Exception e){
e.printStackTrace();
return false;
}
}sessionid的格式是xxxxxxxxxx,xxxxxxxxx,xxxxxxxxx 可以是一个也可以多个,用一个数组通过spilt(",")切开存放,通过循环给每个id做处理,但现在出现每个id执行两次,哪位高手帮我看看。
<head>
<title>对接结果</title>
</head>
<body>
<%
String subcat = RequestUtil.getString(request,"subcat","0");
String themecat = RequestUtil.getString(request,"themecat","0");
String menucat = RequestUtil.getString(request,"menucat","0");
out.print("<BR>选中主题分类:"+subcat);
out.print("<BR>选中体裁分类:"+themecat);
out.print("<BR>选中目录组配分类:"+menucat);
String id=(String)session.getAttribute("sessionid");
String[] ids=null;
ids=id.split("\\,");
boolean butted=false;
if(id==null )
{
out.write("<br/><table align='center' width='400px' border='0' cellpadding='2' cellspacing='1' class='table'><tr><td class='main_title'>TecamoCMS 提示信息!</td></tr>");
out.print("<tr><td align='center'>参数不正确! <a href='#' onclick='window.close()'>关闭</a></td></tr></table>");
out.print("</body></html>");
}
else
{
out.write("<br/><table align='center' width='400px' border='0' cellpadding='2' cellspacing='1' class='table'><tr><td class='main_title'>TecamoCMS 提示信息!</td></tr>");
try
{
ButtDAO buttdao = new ButtDAO();
for(int i=0;i<ids.length;i++)
{
ButtModel buttmodel=(ButtModel)buttdao.getByids(ids[i]);
Map hashMap=new HashMap();
hashMap.put("objectid","0");
String content=buttmodel.getBody();
hashMap.put("content", content);
hashMap.put("title", buttmodel.getTitle());
hashMap.put("filenum", buttmodel.getFilenum());
hashMap.put("keywords", buttmodel.getKeywords());
hashMap.put("pubdate", DateUtil.getFormatString(buttmodel.getPubdate(),"yyyy-MM-dd"));
String publisher=buttmodel.getPublisher();
if(publisher=="")
{
publisher="广东省新闻出版局";
}
hashMap.put("publisher",publisher);
hashMap.put("subcat", subcat);
hashMap.put("themecat", themecat);
hashMap.put("menucat", menucat);
butted=buttdao.isbuttarchive(hashMap); //两次
ReportedDao repDao = new ReportedDao();
ReportedModel repmdl=new ReportedModel();
long aid=Long.parseLong(ids[i]);
repmdl.setButted(butted);
repmdl.setArchiveId(aid);
repDao.inbutted(repmdl);
if(butted)
{
out.write("<tr><td bgcolor='ffffff' align='center' ><br/>");
out.write(buttmodel.getTitle()+"<BR>对接成功!");
out.write("<br/></td></tr>");
}
}
}
catch (Exception e)
{
out.write("<tr><td bgcolor='ffffff' align='center' ><br/><br/>");
out.write("出现异常,对接失败!");
out.write("<br/><br/></td></tr>");
out.write("<tr><td class='form_input'><br/><br/>");
out.write( e.getMessage() );
out.write("<br/><br/></td></tr>");
e.printStackTrace();
}
out.write(" <tr>");
out.write(" <td bgcolor='ffffff' align='center' >");
out.write(" <a href='#' onclick='window.close();'>确定</a>");
out.write(" </td>");
out.write(" </tr>");
out.write("</table>");
}
%>
</body>
</html>java函数isbuttarchive
public boolean isbuttarchive(Map hashMap){
String sResult=null;
String sTargetEndpointAddress="http://211.75.66.12/wcm/services/trswcm:importGovInfoService";
Service service=new Service();
Call call=null;
String _userName="广东省新闻出版局";
Map _hashMap=new HashMap();
_hashMap=hashMap;
try{
call=(Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(sTargetEndpointAddress));
call.setOperationName(new QName("http://service.wcm.trs.com","importGovInfoDocuments"));
Object[] parameters={_hashMap,_userName};
sResult=(String)call.invoke(parameters);
System.out.println(sResult);
return true;
}catch(Exception e){
e.printStackTrace();
return false;
}
}sessionid的格式是xxxxxxxxxx,xxxxxxxxx,xxxxxxxxx 可以是一个也可以多个,用一个数组通过spilt(",")切开存放,通过循环给每个id做处理,但现在出现每个id执行两次,哪位高手帮我看看。
解决方案 »
- 两次访问URL的域名相同,前一次的cookie一定会全部传过去吗?
- struts 2.1+jquery的例子无法读取后台json数据
- 乱吗的问题?
- 关于多线程共享对象的清除问题:lucene的IndexReader/IndexSearcher
- 能否一台机器用两个IP地址,一个配tomcat的,一个配iis的,都是用80端口?
- jsp达人入,不知道为什么出错。
- WebLogic的Console管理平台不能正确运行。
- 为什么我把程序一运行 下面的的程序就报 你所请求的页面有异常
- jsp页面转换word问题?
- 急聘兼职JSP开发高手若干(大连)
- Htmlparser获取网站源码乱码的问题
- struts2加ajax的跳转问题,高手来看看
还在jsp写java代码
逻辑写在servlet里,把要显示的东西送到JSP,就完了,不需要框架
System.out.println("1");
butted=buttdao.isbuttarchive(_hashMap); //两次
System.out.println("2");我在这里加了两个输出,控制台输出的结果是这样的:
1
1
<REPORTS><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[导入成功]]></TITLE><REPORT><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[66917]]></TITLE><TYPE>3</TYPE></REPORT></REPORTS>
2
<REPORTS><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[导入成功]]></TITLE><REPORT><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[66918]]></TITLE><TYPE>3</TYPE></REPORT></REPORTS>
2
System.out.println(sResult); 这个返回值有哪些?你改成下面再输出看看
System.out.println("aa");
butted=buttdao.isbuttarchive(_hashMap); //两次
System.out.println("bb");
<REPORTS><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[导入成功]]></TITLE><REPORT><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[66917]]></TITLE><TYPE>3</TYPE></REPORT></REPORTS>
2
<REPORTS><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[导入成功]]></TITLE><REPORT><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[66918]]></TITLE><TYPE>3</TYPE></REPORT></REPORTS>这个有可能是 butted=buttdao.isbuttarchive(hashMap);,它返回的就是两个结果,而不是执行了两次.你首先要确定它的返回值是唯一的吗。
System.out.println(publisher);
_hashMap.put("subcat", subcat);
_hashMap.put("themecat", themecat);
_hashMap.put("menucat", menucat);
System.out.println("a");
butted=buttdao.isbuttarchive(_hashMap); //两次
System.out.println("b");
ReportedDao repDao = new ReportedDao();
ReportedModel repmdl=new ReportedModel();
System.out.println("c");
long aid=Long.parseLong(ids[i]);
repmdl.setButted(butted);
System.out.println("d");
repmdl.setArchiveId(aid);
repDao.inbutted(repmdl);
System.out.println("e");我添加了一些输出语句,结果是
广东省新闻出版局
a
广东省新闻出版局
a
<REPORTS><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[导入成功]]></TITLE><REPORT><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[66930]]></TITLE><TYPE>3</TYPE></REPORT></REPORTS>
b
<REPORTS><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[导入成功]]></TITLE><REPORT><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[66929]]></TITLE><TYPE>3</TYPE></REPORT></REPORTS>
b
c
d
c
d
e
e
但是你这个输出明明显示是
butted=buttdao.isbuttarchive(_hashMap)外输出一次,
butted=buttdao.isbuttarchive(_hashMap)内System.out.println(sResult)输出了两次
Map hashMap=new HashMap();你把这句放在循环体外试试。别着急,慢慢想。
for(int i=0;i<ids.length;i++)
{
ButtModel buttmodel=(ButtModel)buttdao.getByids(ids[i]);
Map hashMap=new HashMap();
hashMap.put("objectid","0");
String content=buttmodel.getBody();
hashMap.put("content", content);
hashMap.put("title", buttmodel.getTitle());
hashMap.put("filenum", buttmodel.getFilenum());
hashMap.put("keywords", buttmodel.getKeywords());
hashMap.put("pubdate", DateUtil.getFormatString(buttmodel.getPubdate(),"yyyy-MM-dd"));
String publisher=buttmodel.getPublisher();
if(publisher=="")
{
publisher="广东省新闻出版局";
}
hashMap.put("publisher",publisher);
hashMap.put("subcat", subcat);
hashMap.put("themecat", themecat);
hashMap.put("menucat", menucat);
butted=buttdao.isbuttarchive(hashMap); //两次
ReportedDao repDao = new ReportedDao();
ReportedModel repmdl=new ReportedModel(); long aid=Long.parseLong(ids[i]);
repmdl.setButted(butted);
repmdl.setArchiveId(aid);
repDao.inbutted(repmdl);
if(butted)
{
out.write("<tr><td bgcolor='ffffff' align='center' ><br/>");
out.write(buttmodel.getTitle()+"<BR>对接成功!");
out.write("<br/></td></tr>");
}
}
ReportedDao repDao = new ReportedDao();
ReportedModel repmdl=new ReportedModel();
这俩句也放在循环体外试试,怀疑是在循环体出的问题。
ButtDAO buttdao = new ButtDAO();
ButtModel buttmodel=new ButtModel();
Map _hashMap=new HashMap();
ReportedDao repDao = new ReportedDao();
ReportedModel repmdl=new ReportedModel();
for(int i=0;i<ids.length;i++)
{
buttmodel=buttdao.getByids(ids[i]);
_hashMap.put("objectid","0");
String content=buttmodel.getBody();
_hashMap.put("content", content);
_hashMap.put("title", buttmodel.getTitle());
_hashMap.put("filenum", buttmodel.getFilenum());
_hashMap.put("keywords", buttmodel.getKeywords());
_hashMap.put("pubdate", DateUtil.getFormatString(buttmodel.getPubdate(),"yyyy-MM-dd"));
String publisher=buttmodel.getPublisher();
if(publisher=="")
{
publisher="广东省新闻出版局";
}
_hashMap.put("publisher",publisher);
System.out.println(publisher);
_hashMap.put("subcat", subcat);
System.out.println(subcat);
_hashMap.put("themecat", themecat);
System.out.println(themecat);
_hashMap.put("menucat", menucat);
System.out.println("a");
butted=buttdao.isbuttarchive(_hashMap); //两次
System.out.println("b");
System.out.println("c");
long aid=Long.parseLong(ids[i]);
repmdl.setButted(butted);
System.out.println("d");
repmdl.setArchiveId(aid);
repDao.inbutted(repmdl);
System.out.println("e");
提到外面结果还是一样
subcat
themecat
a
广东省新闻出版局
subcat
themecat
a
<REPORTS><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[导入成功]]></TITLE><REPORT><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[66941]]></TITLE><TYPE>3</TYPE></REPORT></REPORTS>
b
c
d
e
<REPORTS><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[导入成功]]></TITLE><REPORT><IS-SUCCESS>true</IS-SUCCESS><TITLE><![CDATA[66942]]></TITLE><TYPE>3</TYPE></REPORT></REPORTS>
b
c
d
e
是不是不是""啊???
public boolean isbuttarchive(Map hashMap){
String sResult=null;
String sTargetEndpointAddress="http://211.75.66.12/wcm/services/trswcm:importGovInfoService";
Service service=new Service();
Call call=null;
String _userName="广东省新闻出版局";
Map _hashMap=new HashMap();
// 去掉直接在写成“Object[] parameters={hashMap,_userName};”
_hashMap=hashMap;
try{
call=(Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(sTargetEndpointAddress));
call.setOperationName(new QName("http://service.wcm.trs.com","importGovInfoDocuments"));
Object[] parameters={_hashMap,_userName};
sResult=(String)call.invoke(parameters);
System.out.println(sResult);// 这里又输出了一次?!!是否正确。
return true;
}catch(Exception e){
e.printStackTrace();
return false;
}
}
System.out.println("a");
System.out.println("b");
System.out.println("c");
System.out.println("d");
System.out.println("e");
结果会是
a
b
e
d
e
a
b
c
d
e
这代码看下去会死人的,建议楼主把业务和表现分开,了解下MVC的模式。