CSDNRGY 2015-11-09 09:17 采纳率: 88.6%
浏览 1581

为什么加载jsp时,Applet会提交整个表单?

关键代码

 <applet CodeBase="<%=request.getContextPath() %>/lis/mz/" code=CodeApplet.class width=300 height=50 VIEWASTEXT
                                                archive="/lis/lis/mz/commons-codec-1.4.jar,/lis/lis/mz/commons-httpclient-3.0.1.jar,/lis/lis/mz/commons-logging-1.1.1.jar">
                                                    <param name="xtjyid" value="<s:property value="#brcx.jyid.id"/>">
                                                    <param name="codeNum" value="<s:property value="#brcx.jyid.tmNum"/>">
                                                    <param name="zdjymxid" value="<s:property  value="#brcx.id" />">
                                                    <param name="xtjyName" value="<s:property  value="#brcx.jyid.name" />">
                                                    <param name="patientName" value="<s:property value="#brcx.zdid.mzGh.patientcard.name" />">
                                                    <param name="mzpatientid" value="<s:property value="#brcx.zdid.mzGh.patientcard.id" />">
                                                </applet>
 <input type="button" value="打印" onclick="dy()"/>
 <script type="text/javascript">
function dy(){
document.applets[0].inputCodeInfo();
}
</script>

图片说明

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 17:53
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Java Web应用中,当一个JSP(Java Server Pages)页面在Tomcat服务器上渲染时,如果包含Java Applet代码块,Applet会在客户端的浏览器中运行并执行相应的HTML、CSS和JavaScript代码。在这个过程中,客户端浏览器与服务器端应用程序之间通过HTTP协议进行通信,并将要显示的数据作为请求数据传入服务器。

    当客户端点击“打印”按钮触发Java Applet的print方法时,通常会发送一个GET请求到服务器的Web服务器端。当服务器接收到这个请求后,它会对Applet中的相应脚本进行解析和处理。然后,Applet可能从服务器获取到所需的变量、参数等信息,例如XML文档中的ID、TMNUM(事务编号)、NAME、PATIENTCARD(患者卡片信息)等。这些信息经过一些处理,可能会被用于在HTML页面中设置AJAX或传递到后续处理步骤中。

    在上述代码示例中,Applet对象包含了以下属性:

    1. appletCode: 这是Applet的代码,包括了各种动作和逻辑代码。
    2. codeBase: 定义了Applet所在的文件夹路径,即其运行位置。
    3. widthheight: 设置Applet的宽度和高度,以便正确展示在客户浏览器中。
    4. archive: 存储Applet压缩后的jar文件路径,以便在客户端的应用程序部署时可快速加载Applet。
    5. param: 提供了Applet需要接收的特定参数值,如跨域问题解决的方法(如通过代理服务器或URL重写实现),以及用户输入变量的名称(即xtjyidcodeNumzdjymxidxtjyNamepatientNamemzpatientid)。
    6. XTJYID, CODENUM, ZDJYMXID, XTJYNAME, PATIENTNAME, and MZPATIENTID:定义了不同列在XML XML文档中的名(在Applet代码中对应注释中的列名),这些列对应Applet模型中的实体(如PatientCard信息)的详细字段。

    客户端响应在客户端页面中使用的语句可能是:

    <input type="button" value="打印" onclick="dy()">
    

    首先,将Java Applet代码、URL(通常为http://localhost:8080/your-applet-page.jsp)、以及打印按钮标签绑定到JavaScript函数dy()中。然后,在dy()函数中,获取Applet实例,调用其inputCodeInfo()方法来解析脚本输出,并显示在HTML页面中。inputCodeInfo()方法应该能根据Applet脚本返回的XML数据结构生成相应的HTML元素,展示给用户。

    注意:在实际应用中,Applet会被嵌套在Java Web容器(如Tomcat)中,并且Applet代码和相关资源通常都在同级目录下,而XML文件则存储在Applet对应的Java类文件中。因此,上述代码中的参数名(brcx.jyid.id, brcx.jyid.tmNum, brcx.id, brcx.jyid.name, brcx.zdid.mzGh.patientcard.name, brcx.zdid.mzGh.patientcard.id)应在XML文件中明确声明和使用,以确保Applet能够正确识别和执行它们的功能。

    评论

报告相同问题?