[Logo] 赛灵通技术论坛--Xerllent Forum
  [Search] 搜索   [Recent Topics] 最新主题   [Hottest Topics] 热门主题   [Members]  会员列表   [Groups] 返回首页 
  会员名称:   登入密码:     [Register] 会员注册 忘记密码 启用我的帐号
文章发表人是: iopu
论坛首页 » 个人资料 iopu » 文章发表人是 iopu
发表人 内容
[size=18]在管理员界面的 学校日期设置中,发现高于IE6.0的浏览器都无法正确显示日期下拉单,因而不能正确设置日期。
这是相关js兼容性的问题,日期选单这段程序太陈旧了,希望官方改进下。
没有办法,只能另辟蹊径,找到对应的文件D:\xerllentXerCampus\XerCampus\prog\School\BaseInfor\TermSetting.jsp
在表单代码块的最后加上:

这四句,正好把后台代码生成的四个日期输入框改为可读。
这下好了,不管你的浏览器是什么,都可以正确输入日期了。不过一定要按照标准格式哦,不然如果出现逻辑错误就只能直接改数据库了。。。

在其他一些地方可能还会遇到类似的日期数据无法输入的,可以参考这个办法,对于管理员来说很方便,但是如果日期是要依靠一般用户录入的话,一定要加上js及时验证,不然后果很严重。

最后还是希望官方能与时俱进,改改js,当然比较麻烦。
其实直接允许用户输入也不错,就是加上一定的验证而已。
[/size]
在老大的细心指导下,终于弄好了,原来是所有单元格数据都应为 字符型,然后把右边、下边的空列、空行删除一些就可以了
另:我的Campus在IE8下没法通过管理员添加新用户,因为选不了“生日”。。。。why?

逼的没法,把注册页面的input readonly去掉,直接输入生日
SSO在当前是非常流行和必须的,当然我们也不例外。

先说说我们的情况,campus和donuts安装在一台服务器上的,campus端口为80,donuts为9080。因为程序源代码看不到,因此感觉没有直接修改程序的可能。只能变通一下……
当然前提是用户在这两个系统上的登录名和密码必须一致,这个问题只有自己想办法写一段代码,从donuts中把数据复制到campus中(campus为什么没有批量导入的功能?!)。而且两个系统对密码的加密结果不一样,直接复制数据库还有问题,真不知道咋个办好。继续想歪主意……

两个系统的数据库分别如下:
数据库名:donuts15
用户表:dbo.xer_user
数据库名:xercampus
用户表:act_user

在服务器上另开一个Apache,端口为88,写了一个login.php

<html>
<head>
<title>单点登陆接口</title>
<?php
//用下面一段区分下访问者来源,选择公网IP或者内部IP访问服务器
function get_client_ip()
{
if(getenv('HTTP_CLIENT_IP')) {
$client_ip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$client_ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$client_ip = getenv('REMOTE_ADDR');
} else {
$client_ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
return $client_ip;
}

if(substr(get_client_ip(),0,7)=="192.168") {
$toIP2="http://192.168.0.4/prog/login.jsp"; //我们直接把用户名和密码传递给这个页面进行登录判断
$toIP1="http://192.168.0.4:9080/login.jsp/j_security_check"; //这是donuts的登录判断
}
else
{
$toIP2="http://*.*.*.*/prog/login.jsp";
$toIP1="http://*.*.*.*:8081/login.jsp/j_security_check";
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="images/campus.css" type="text/css">
<script language="JavaScript">
<!--
//因为两个系统的表单中名字有点区别,所以用户输入一套口令后,用js复制一份传给另一个系统。
function mysubmit(){
document.formlogin.username.value=document.formlogin.j_username.value;
document.formlogin.passwd.value=document.formlogin.j_password.value;
document.formlogin.target="_blank";
document.formlogin.action="<?php echo($toIP1)?>";
document.formlogin.submit();
document.formlogin.target="_self"; //反复测试单点登录会造成这一个系统无法登陆,关闭浏览器,重新登录即可。原因还不太清楚
document.formlogin.action="<?php echo($toIP2)?>";
document.formlogin.submit();
}
//-->
</script>
</head>
<body text="#000000" leftmargin="0" topmargin="0" marginwidth="0" bgcolor="#EDECE9" >
<table width="755" border="0" cellspacing="0" cellpadding="10" align="center" height="100%">
<tr>
<td align="center">
<form name="formlogin" method="post" action="">
<table border="0" cellpadding="0" cellspacing="0" background="images/login3.gif" width="416">
<tr>
<td colspan="2" align="center"><img src="images/login1.gif"></td>
</tr>
<tr align="center">
<td colspan="2">
<table width="250" align="center" class="f90">
<tr>
<td align="center" colspan="2" >
单点登陆接口
</td>
</tr>
</table>
<table width="250" align="center" cellpadding="4" class="f90" border="0" cellspacing="0">
<tr>
<td align="right" width="80" valign="middle" height="32">用户名:</td>
<td>
<input type="text" name="j_username" size="20" maxlength="20" style="font-size:9pt;border:1px solid black;width:100px">
<input type="hidden" name="username" size="20" maxlength="20" style="font-size:9pt;border:1px solid black;width:100px" type="hidden">
</td>
</tr>
<tr>
<td align="right" height="32" width="80" valign="middle">密 码:</td>
<td>
<input type="password" name="j_password" size="20" maxlength="20" style="font-size:9pt;border:1px solid black;width:100px">
<input type="hidden" name="passwd" size="20" maxlength="20" style="font-size:9pt;border:1px solid black;width:100px">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td> </td>
<td align="center">
<input type=image src="images/login_bn1.gif" name="确定" value="确定" onClick="return mysubmit()">
</td>
</tr>
<tr>
<td colspan="2"><img src="images/login2.gif" width="416" height="35"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</body>
</html>


希望官方能给一个更好的sso方案,特别是系统用户表数据的统一。
初步使用了一下,速度快,灵活。

不过有点疑问

各类信息导入,最好能制作一个excel模板文件和简单的说明。

现在我是随便输入一个条目,然后导出excel,以为这个就是模板文件,再在这个excel中录入数据导入,结果失败。不知道是否是导出文件的第一行不要……回去再试试

现在总是:Error calling action method of component with id form1:import

Caused by:
java.lang.StringIndexOutOfBoundsException - String index out of range: -1
 
论坛首页 » 个人资料 iopu » 文章发表人是 iopu
前往:   
赛灵通 xerllent