说是外部的js文件中写入类似<%JavaBean.xxx()%>的代码
主页面<script src="abc.js"></script>
这样是会报错的目前想到的只能把js文件一起放在主页面中才能用请问有什么方法可以在外部js中使用这种方式..是不是js载入方式问题?

解决方案 »

  1.   

    试试把js文件改成jsp,这样才能让应用服务器去按jsp语法解析。
      

  2.   

     <%JavaBean.xxx()%>????
    一般是xxxform點xxx方法吧
    除非你那個formbean名字就叫JavaBean  - -|、
      

  3.   


    呵呵,楼主要这么调用的话,你可以使用DWR JS框架,这个就是远程调用的框架,可以满足你的需求
      

  4.   

    我以前遇到这种问题时,给js的方法,多传了一个参数<%=JavaBean.xxx()%>,能起到一点作用,外部js,据我所知,是不会转化为servlet的,除非能像css那样有import模式,但好像没有
      

  5.   

    Ajax,应该可以解决你的问题。
      

  6.   

    AJax有个框架就用JS来执行java代码的.你找找看好象是DWR样.
      

  7.   

    如果这样要求还是把你的外部JS改成JSP的好些,很好的想法,呵呵,看了一楼的,以前没想到过这么用,呵呵
      

  8.   

    晕 有什么意义么?JS是客户端解析,不提交到服务器端是无法解释JSP脚本的
      

  9.   

    和直接在javascript里面调用是一样的
      

  10.   

    我想我能帮你 JS是不能引用JAVABEAN的 除非AJAX 可以把JAVABEAN 传到JS JS操作
      

  11.   

    你用DWR就好了,dwr就是那么弄得
      

  12.   

    在jsp里面引用java类一般是 
    <jsp:useBean: id="abc" class="xxx.xxx.xx">
     <jsp:setProperty name="abc" property="*"/>
    </jsp:useBean>然后在页面的调用
    <%
      abc.setXXXX()
    %>至于你说
    js可以 <%JavaBean.xxx()%>
    那我就不清楚了!好像应该不行!没有试过
      

  13.   

    我记的以前看见过一个例子,具体的记不清了。好像是这样的:
    <jsp:useBean id ="abc" scope ="request" class ="xxxxxx">
    <@
      String a =abc.getxxx();
    @>
    <script .....>
      function b(a){
       xxxxxxx;
    xxxxxxx;
    xxxxxxx;
    }
    </script>
    就是将A作为参数传给JS的方法。具体的你试试。
      

  14.   

    <%%>这是JSP的特性,你放到JS里面服务怎么解析嘛``
    这样是不行的,只有采用AJAX或DWR调用服务器的JAVA代码
      

  15.   

    用dwr:
     <td align="left"> <input type="button" value="修 改" onclick="appupdate();"/></td>
    <script type="text/javascript">
    function appupdate()
      {  
        //把得到的文本框的值组成javascript对象
       var appobj = {
    seq:$('seq').value,//$('文本框name') 我这是用dwr自带的工具取的文本框的值,你也可以这样取值document.all.appname.value
    appName:$('appname').value,
    appUrl:$('appurl').value,
    appPic:$('apppic').value,
    operator:$('appoperator').value,
    operateTime:$('appoperatetime').value
    };
    //appbo是一个java类,appUpdate是类中的方法名,appobj是输入参数function(flag)是一个回调数,flag是appUpdate的返回值,如果没返回值,则括号内不用写
    appbo.appUpdate(appobj,function(flag){flag>0?showMsg('提示','修改成功','info','',function(){window.location.href='app_select.jsp';}):showMsg('提示','修改失败','error');});
      }
    </script>用dwr要在工程中加入dwr.jar包,还要在web-inf下加一个dwr.xml文件
    这是dwr.xml:<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting
    2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd" >
    <!-- <!DOCTYPE dwr SYSTEM "dwr20.dtd" > -->
    <dwr>
       <allow>   
         <create creator="spring" javascript="appbo">      
           <param name="beanName" value="appbo"/>
           <param name="location" value="beans.xml" />
         </create>    
        
         <convert converter="bean" match="com.rj.vo.*" />
         
       
         
       </allow>
    </dwr>
    dwr.jar可在我的资源下下载,这是我的资源地址:
    http://download.csdn.net/user/combai
    jsp页面导入这句:
    <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/appbo.js'></script>
    看能不能帮到你
      

  16.   

    你的意思是?abc.js:
    function appupdate()
      {      
        //把得到的文本框的值组成javascript对象
          var appobj = {
        seq:$('seq').value,//$('文本框name') 我这是用dwr自带的工具取的文本框的值,你也可以这样取值document.all.appname.value
        appName:$('appname').value,
        appUrl:$('appurl').value,
        appPic:$('apppic').value,
        operator:$('appoperator').value,
        operateTime:$('appoperatetime').value
        };
    //appbo是一个java类,appUpdate是类中的方法名,appobj是输入参数function(flag)是一个回调数,flag是appUpdate的返回值,如果没返回值,则括号内不用写    
        appbo.appUpdate(appobj,function(flag){flag>0?showMsg('提示','修改成功','info','',function(){window.location.href='app_select.jsp';}):showMsg('提示','修改失败','error');});    
      }    这段能在外部js中写吗,相对页面再用<script src="abc.js" />页面就加了句导入?能行吗如果是页面中的js调用javabean..或者java类,可以有很多方法...就是传说中的ajax了,像xmlhttp,prototype等等,都可以
      

  17.   

    楼主,不知道你要的是不是下面的这种效果
    可以在JS中setXXX(),getXXX()
    -------------------------------------------------
    Person.java
    package com.cw.entity;public class Person { private  String name;

    private  String email; public String getEmail() {
    return email;
    } public void setEmail(String email) {
    this.email = email;
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    }
    }cc.jsp
    <%@ page language="java" pageEncoding="gbk"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <script type="text/javascript" src="dd.jsp"></script>
    <script type="text/javascript">
    document.writeln("JS中的NAME="+name);
    document.writeln("<BR/>JS中的EMAIL="+email);
    </script>
    </html>dd.jsp
    <%@ page language="java" pageEncoding="gbk"%>
    <jsp:directive.page import="com.cw.entity.Person"/>
    <%
    Person person = new Person();
    person.setName("cw");
    person.setEmail("[email protected]"); out.println("var name='"+person.getName()+"'");
    out.println("var email='"+person.getEmail()+"'");
    %>以前在项目中曾经用过这种方法,
    很久没有用了