flex与java交互怎么各自建立独立的工程,求详细图解(java和flex工程独立,不要放在一起) 10
3个回答
展开全部
这个完全没有问题啊,两个完全独立,只是通信方面有点麻烦!
flex用s:httpservice与,例如,一个最简单的例子,
<s:HTTPService id="findProEvents" contentType="application/x-www-form-urlencoded"
url="http://localhost/fileflex/servlet/proEventsServlet"
showBusyCursor="true"
method="POST"
useProxy="false"
resultFormat="e4x"
result="handle_proEventsResult(event)"/>
定义id为findProEvents的httpservice,url属性即为你的JAVA后台路径
定义一个传递参数的private var urlservice:URLVariables=new URLVariables();
private function handle_showProEventsResult():void{
this.urlservice.status="showlist";
this.urlservice.pid=this.pid;
this.findProEvents.send(this.urlservice);
}
通过上面定义的findProEvents激昂urlservice的参数传递到后台;
后台处理:
proEventsServlet:
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0L);
this.status=(String)request.getParameter("status");
if(this.status!=null||!("".equals(this.status))){
if(this.status=="showlist"||"showlist".equalsIgnoreCase(this.status)){
this.showList(request, response);
}
public void showList(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
String pid=request.getParameter("pid");//查询流程号
ProEvents proevents=null;
List<ProEvents> all=null;
PrintWriter writer=response.getWriter();
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
writer.write("<?xml version='1.0' encoding='UTF-8'?>");
writer.write("<proevents>");
try {
all=PDAOFactory.getProEventsDAO().findById(pid);
} catch (Exception e) {
e.printStackTrace();
}
Iterator<ProEvents> iterator=all.iterator();
while(iterator.hasNext()){
proevents=iterator.next();
Integer proeventid=proevents.getId();
String processID=proevents.getPid();
String fuser=proevents.getFuser();
String pictime=proevents.getTime();
String fileinfo=proevents.getInfo();
String checkinfo=proevents.getCheckinfo();
String type=proevents.getType();
if(fileinfo==null||"".equals(fileinfo)){
fileinfo="";
}
if(type=="流转流程"||"流转流程".equalsIgnoreCase(type)){
checkinfo="已经认真查核相关资料,符合要求";
}
writer.write("<proevent>");
writer.write("<proeventid>"+proeventid+"</proeventid>");
writer.write("<processID>"+processID+"</processID>");
writer.write("<fuser>"+fuser+"</fuser>");
writer.write("<pictime>"+pictime+"</pictime>");
writer.write("<fileinfo>"+fileinfo+"</fileinfo>");
writer.write("<type>"+type+"</type>");
writer.write("<checkinfo>"+checkinfo+"</checkinfo>");
writer.write("</proevent>");
}
writer.write("</proevents>");
writer.close();
}
通过servlet控制dao,查找数据再写成XML格式,放入内存中;
然后通过findProEvents的result="handle_proEventsResult(event)“方法读取XML数据并显示处理.
当然这只是个很简单的例子!完全独立,后台还是建议使用拼凑成Stringbuffer,毕竟witer性能太低了,一次输出StringBuffer.toString(),毕竟XML的格式弄成这样的只是为了方便查看;
flex用s:httpservice与,例如,一个最简单的例子,
<s:HTTPService id="findProEvents" contentType="application/x-www-form-urlencoded"
url="http://localhost/fileflex/servlet/proEventsServlet"
showBusyCursor="true"
method="POST"
useProxy="false"
resultFormat="e4x"
result="handle_proEventsResult(event)"/>
定义id为findProEvents的httpservice,url属性即为你的JAVA后台路径
定义一个传递参数的private var urlservice:URLVariables=new URLVariables();
private function handle_showProEventsResult():void{
this.urlservice.status="showlist";
this.urlservice.pid=this.pid;
this.findProEvents.send(this.urlservice);
}
通过上面定义的findProEvents激昂urlservice的参数传递到后台;
后台处理:
proEventsServlet:
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0L);
this.status=(String)request.getParameter("status");
if(this.status!=null||!("".equals(this.status))){
if(this.status=="showlist"||"showlist".equalsIgnoreCase(this.status)){
this.showList(request, response);
}
public void showList(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
String pid=request.getParameter("pid");//查询流程号
ProEvents proevents=null;
List<ProEvents> all=null;
PrintWriter writer=response.getWriter();
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
writer.write("<?xml version='1.0' encoding='UTF-8'?>");
writer.write("<proevents>");
try {
all=PDAOFactory.getProEventsDAO().findById(pid);
} catch (Exception e) {
e.printStackTrace();
}
Iterator<ProEvents> iterator=all.iterator();
while(iterator.hasNext()){
proevents=iterator.next();
Integer proeventid=proevents.getId();
String processID=proevents.getPid();
String fuser=proevents.getFuser();
String pictime=proevents.getTime();
String fileinfo=proevents.getInfo();
String checkinfo=proevents.getCheckinfo();
String type=proevents.getType();
if(fileinfo==null||"".equals(fileinfo)){
fileinfo="";
}
if(type=="流转流程"||"流转流程".equalsIgnoreCase(type)){
checkinfo="已经认真查核相关资料,符合要求";
}
writer.write("<proevent>");
writer.write("<proeventid>"+proeventid+"</proeventid>");
writer.write("<processID>"+processID+"</processID>");
writer.write("<fuser>"+fuser+"</fuser>");
writer.write("<pictime>"+pictime+"</pictime>");
writer.write("<fileinfo>"+fileinfo+"</fileinfo>");
writer.write("<type>"+type+"</type>");
writer.write("<checkinfo>"+checkinfo+"</checkinfo>");
writer.write("</proevent>");
}
writer.write("</proevents>");
writer.close();
}
通过servlet控制dao,查找数据再写成XML格式,放入内存中;
然后通过findProEvents的result="handle_proEventsResult(event)“方法读取XML数据并显示处理.
当然这只是个很简单的例子!完全独立,后台还是建议使用拼凑成Stringbuffer,毕竟witer性能太低了,一次输出StringBuffer.toString(),毕竟XML的格式弄成这样的只是为了方便查看;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-12-04
展开全部
可以使用远程对象:RemoteObject来调用:
如:<s:RemoteObject id="Ro" destination="JavaMethod" />
然后在Java的配置文件中配置destination,并且flex中要有和Java对象向对应的类,可以选择使用[Bindable]来标识此对象。最主要的是和后台建立连接即可。
如:<s:RemoteObject id="Ro" destination="JavaMethod" />
然后在Java的配置文件中配置destination,并且flex中要有和Java对象向对应的类,可以选择使用[Bindable]来标识此对象。最主要的是和后台建立连接即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询