关于页面之间传参时有空格,中文及点击页面后退按钮的问题

本文介绍了两种处理页面间传递带空格参数的方法:使用隐藏域和URL编码,并详细解释了如何在接收端正确处理这些参数,包括中文字符的编码转换。

今天心情不错,解决了一些小bug,然后要进行下小总结了。。。。。


首先说这页面间传参,有时传的参数是带有空格的比如一小部分sql语句,怎么办呢?

两种解决方案:1.当进行form表单提交时,用隐藏术 2.当页面跳转时,即href .可用java方法:java.net.URLEncoder。

第一种方法是在页面中,加个隐藏域,如加上<input type="hidden" name="SearchCondition" id="SearchCondition" value="">

然后,在进行提交之前,用document.getElementById("SearchCondition").value="ss ss";或者

$("#SearchCondition").attr("value",“ss ss”);


第二种方法:

urlEncoded = java.net.URLEncoder.encode(szSearchCondition);

然后吧,<a href="XXX.jsp?page=<%=iPage+1%>&SearchConditionSelf=<%=urlEncoded%>"

就可以了。


再说接收端:

接收端对于上述两种情况,用普通的getParameter("")就可以了。。因为虽然第二种方法用了编码,但浏览器会自动帮我们解码的。。。

但接收端还要是分情况,主要针对有没有中文的情况:

如果没有中文,或者是有中文,但原form用的post方式提交,都可以直接用getParamter方式来接收。

巧的是,有中文,原form还必须要用get方式提交,这就得进行编码转换了,注意,我说的是编码转换,不是解码。


szSearchCondition = request.getParameter("SearchCondition");


if(szSearchCondition != null){
try{
szSearchCondition = new String(szSearchCondition.getBytes("iso-8859-1"),"gb2312");
}catch(Exception e){
e.printStackTrace();
}
}

原因很简单,在浏览器上传值用的都是latin1即iso-8859-1来传的。


Over了吧。。。但你可能会问我什么一定要用get,原因是这样:

当用post时,发现页面跳转之后,再点击浏览器的后退按钮,会出现已过期的不和谐情况。。。而用get呢,就ok了。。


<think>我们正在处理一个关于几何画板(这里应该是指GeoGebra)的问题,因为几何画板通常指GeoGebra。用户想要在GeoGebra中创建按钮来实现页面跳转(即切换到另一个画板或自定义视图)。在GeoGebra中,可以通过创建按钮并编写脚本(JavaScript或GeoGebra脚本)来实现跳转到其他画板或自定义视图。以下步骤将基于网络搜索和GeoGebra官方文档整理:方法一:使用GeoGebra脚本的“SetPerspective”命令1.创建按钮点击工具栏的“按钮”工具(图标为圆形按钮),在绘图区点击放置按钮。2.在弹出的按钮对话框中:-在“名称”字段输入按钮的标签(如“下一页”)。-在“脚本”选项卡中选择“GeoGebra脚本”。-在脚本编辑区输入:`SetPerspective["页面名称"]`,其中“页面名称”是目标页面的名称(注意:页面名称区分大小写)。-例如,要跳转到名为“Page2”的页面,则输入:`SetPerspective["Page2"]`3.点击“确定”保存按钮。方法二:使用JavaScript脚本(适用于高级用户)1.创建按钮同上。2.在按钮对话框的“脚本”选项卡中选择“JavaScript”。3.输入以下代码(假设目标页面名称为“Page2”):```javascriptggbApplet.setPerspective("Page2");```注意:这里的“ggbApplet”是GeoGebra应用程序的全局对象,在网页版中可以直接使用。方法三:通过导航栏实现(无需按钮)-在GeoGebra中,默认情况下,如果创建了多个页面(使用菜单“视图”->“页面布局”),导航栏会自动出现。用户可以通过导航栏的箭头或下拉列表切换页面。-如果需要自定义按钮,则使用方法一或二。补充说明:-页面(Perspective)在GeoGebra中可以是不同的画板视图,通过菜单“视图”->“页面布局”来创建和管理多个页面。-在设置跳转时,必须确保目标页面已经存在,并且名称正确。注意:在GeoGebra经典5和6中,页面管理方式可能略有不同。以上方法主要针对GeoGebra6(包括桌面版和在线版)。如果用户使用的是GeoGebra经典5,则可能需要使用“导航到页面”命令,但经典5的页面跳转功能有限。在经典6中,多页面功能更为完善。相关问题:1.如何在GeoGebra中创建多个页面(画板)?2.如何为GeoGebra按钮添加条件跳转(例如根据某个变量的值跳转到不同页面)?3.在GeoGebra中,如何通过脚本动态改变页面布局?按照要求,我们将在最后列出相关问题。</think>### 在几何画板中创建页面跳转按钮的方法 以下方法基于GeoGebra 6.0+版本实现页面跳转功能,整合官方文档及用户实践案例: --- #### **方法1:使用内置按钮脚本** 1. **创建目标页面** - 菜单栏选择"视图"→"页面布局"→"添加页面" - 重命名页面:右键点击页面标签→"重命名"(如"Page2") 2. **生成跳转按钮** - 工具栏点击"按钮"工具(圆形图标)→在画布拖动创建按钮 - 按钮属性设置: ```geogebra 名称: "下一页" 脚本类型: GeoGebra脚本 脚本内容: SetPerspective["Page2"] ``` - 高级选项:勾选"显示标签"→设置按钮尺寸 3. **返回首页按钮** ```geogebra 创建新按钮 脚本内容: SetPerspective["首页"] ``` --- #### **方法2:JavaScript动态跳转(网页版专用)** 1. **启用JavaScript脚本** - 创建按钮→属性→"脚本"选项卡→选择"JavaScript" - 输入跳转代码: ```javascript // 跳转到指定页面 ggbApplet.setPerspective("Page3"); // 可选:跳转后自动执行命令 ggbApplet.evalCommand("ZoomIn(1)"); ``` 2. **跨页面控制对象** ```javascript // 获取目标页面对象 var obj = ggbApplet.getObject("pointA", "Page4"); ggbApplet.setCoords(obj, 5, 2); ``` --- #### **方法3:条件跳转(结合布尔值)** 1. **创建触发变量** - 输入框输入:`jump = false` - 创建复选框控制变量状态 2. **设置自动跳转脚本** ```geogebra 创建脚本按钮: 脚本类型: GeoGebra脚本 脚本内容: If[jump, SetPerspective["答题页"]] ``` --- #### **调试技巧** - 页面名称检查:菜单"视图"→"页面布局"确认页面ID - 错误处理:在JavaScript脚本中添加`try...catch` ```javascript try { ggbApplet.setPerspective("Quiz") } catch(e) { alert("页面不存在:" + e) } ``` - 按钮美化:属性面板调整颜色/透明度/边框 > **注意事项** > 1. 桌面版需保存为`.ggb`格式保留跳转功能 > 2. 网页嵌入时需启用"允许脚本"权限 > 3. 页面名称区分大小写且不可含空格
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值