我需要根据用户登录身份的不同,在首页上显示不同按钮。

liklstar 2014-08-20 11:37:37
我需要根据用户登录身份的不同,在首页上显示不同按钮。比如在JSP页面上进行选择:
if (用户是学生)
仅显示首页;
else if (用户是版主)
在首页上添加“创建”和“删除”按钮;
else if (用户是管理员)
在首页上显示更多按钮;
假设这个判断在界面上能实现,接下来的问题是:当用户点击按钮后,由于是MVC结构,如何调用后台的方法(在xxxDAOImplementation类中实现的方法)?由于这个按钮是普通按钮,点击此按钮能执行该页面的servlet吗?况且,按钮的onclick事件响应函数是JavaScript脚本,它能“new xxxDAOImplementation”这个类并调用其中的方法吗?
...全文
8566 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyfhz 2014-08-21
  • 打赏
  • 举报
回复
可以在js里面的按钮单击方法里面写上 formxxx.action="xxx.jsp"; formxxx.submit(); 这样的方法来提交 另外,javascript是作用在显示页面的浏览器中的,所以不能在浏览器显示后操作后台的方法。如1L所说的 <script type="text/javascript"> var methodStr = "<%=BehindMethod() %>"; alert(methodStr); </script> 其实是在服务器端利用这个jsp生成客户端显示的html正文内容时可以调用后台的BehandMethod()方法,所以仍然是在后台作用的,LZ如果在浏览器里面打开这个网页,看到的内容可能就变成了(假设这里的HelloWorld字符串就是BehandMethod()方法的返回值) <script type="text/javascript"> var methodStr = "Hello World"; alert(methodStr); </script>
sui2121 2014-08-21
  • 打赏
  • 举报
回复
你可以用S标签 在页面做逻辑处理 可以吧用户身份放在session里面
华清545 2014-08-21
  • 打赏
  • 举报
回复
你还是新手。
liklstar 2014-08-21
  • 打赏
  • 举报
回复
引用 14 楼 JackieLiuLixi 的回复:
你还是新手。
是的,我是一名开发方面的新手!
liklstar 2014-08-21
  • 打赏
  • 举报
回复
引用 17 楼 u011765218 的回复:
首先这是一个给用户权限的问题,用户的身份你可以用一个等级来存储,这样有利于处理判断。 至于楼主说到的按钮功能,你可以一个按钮对应一个function方法呀 例如:<input name="Submit2" type="button" class="button" value="审核" onclick="shenHe()"/> function shenHe() { if (!radiovalue()) { alert("请先选择!"); return; } document.form1.action = "/module/letter/shenHe.action ”; document.form1.submit(); } 楼主是不是没用struts框架 啊
是没有struts!我的问题是该如何调用后台方法!你的这个“ document.form1.action = "/module/letter/shenHe.action ”; ”是不是form1的servlet啊?
itzgs 2014-08-21
  • 打赏
  • 举报
回复
首先这是一个给用户权限的问题,用户的身份你可以用一个等级来存储,这样有利于处理判断。 至于楼主说到的按钮功能,你可以一个按钮对应一个function方法呀 例如:<input name="Submit2" type="button" class="button" value="审核" onclick="shenHe()"/> function shenHe() { if (!radiovalue()) { alert("请先选择!"); return; } document.form1.action = "/module/letter/shenHe.action ”; document.form1.submit(); } 楼主是不是没用struts框架 啊
liklstar 2014-08-20
  • 打赏
  • 举报
回复
“1、你可以设置不同的button 调用不同的js function ,然后对form表单进行不同的操作,改变其地址,调用不同的action方法。 然后ok ” 设置不同的button当然是调用不同的响应函数,但怎么执行不同的action方法呢?“然后对form表单进行不同的操作,改变其地址,调用不同的action方法。”是什么意思?
liklstar 2014-08-20
  • 打赏
  • 举报
回复
“<script type="text/javascript"> var methodStr = "<%=BehindMethod() %>"; alert(methodStr); </script>” 请问:你是通过"<%=BehindMethod() %>"调用后台方法吗?后台方法在一个类中,只有new了这个对象才能调用方法。你这BehindMethod() 是什么方法啊?
liklstar 2014-08-20
  • 打赏
  • 举报
回复
我知道这个含判断的JSP是可以实现,但问题是下面该怎么办? 1、普通按钮是表单的一部分,无法激发该表单的servlet,只有submit按钮能激发。所以想通过servlet操纵数据库是不行的。 2、JavaScript函数是伪面向对象的语言,它不能执行“new boardsDAOImplementation()”函数生成对象,因此也无法调用boardsDAO中的方法操纵数据库。 这该怎么办呢?
_会溺水的猪_ 2014-08-20
  • 打赏
  • 举报
回复
点击按钮 出发时间 网页上一般都是通过跳转传送信息 通过servlet操作数据 然后返回给前台显示~
_会溺水的猪_ 2014-08-20
  • 打赏
  • 举报
回复
建议在jsp 使用 jstl标签 你登录的时候肯定通过servlet验证信息 在servlet中将用户类型添加到session中 然后跳转到jsp页面 jsp页面通过获取session中的信息判断哪种用户就OK了
  • 打赏
  • 举报
回复
你这个if判断是可以实现的 如果想继续操作: 1、你可以设置不同的button 调用不同的js function ,然后对form表单进行不同的操作,改变其地址,调用不同的action方法。 然后ok ~
  • 打赏
  • 举报
回复
思路上没有问题,javascript可以实现调用后台方法 <script type="text/javascript"> var methodStr = "<%=BehindMethod() %>"; alert(methodStr); </script>
liklstar 2014-08-20
  • 打赏
  • 举报
回复
引用 11 楼 Inhibitory 的回复:
按钮对应一个链接,点击后发给服务器,服务器会找到处理这个链接的Servlet或者JSP,完了。 如一个在web.xml里一个servlet的配置 <servlet> <servlet-name>myServlet</servlet-name> <servlet-class>com.tur.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myServlet</servlet-name> <url-pattern>/example/myservlettest.do</url-pattern> </servlet-mapping> 网页上有一个链接如 <a href="/example/myservlettest.do">Click Me</a>,点击它后 Servlet 容器会找到web.xml里处理链接="/example/myservlettest.do的Servlet "myServlet",然后调用这个Servlet的类(com.tur.MyServlet)的 doService()方法,最后返回这个方法的处理结果。
<input type=button onclick="window.location.href='/servlet/useBBS/createBoard.java'"> 是这样调用Servlet吗?如何传递参数呢?
liklstar 2014-08-20
  • 打赏
  • 举报
回复
引用 11 楼 Inhibitory 的回复:
按钮对应一个链接,点击后发给服务器,服务器会找到处理这个链接的Servlet或者JSP,完了。 如一个在web.xml里一个servlet的配置 <servlet> <servlet-name>myServlet</servlet-name> <servlet-class>com.tur.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myServlet</servlet-name> <url-pattern>/example/myservlettest.do</url-pattern> </servlet-mapping> 网页上有一个链接如 <a href="/example/myservlettest.do">Click Me</a>,点击它后 Servlet 容器会找到web.xml里处理链接="/example/myservlettest.do的Servlet "myServlet",然后调用这个Servlet的类(com.tur.MyServlet)的 doService()方法,最后返回这个方法的处理结果。
非常感谢!你真是把“超链接”用活了! 再问个琐碎问题,干脆你帮我都解决得了:按钮和这个超链接如何关联?
Inhibitory 2014-08-20
  • 打赏
  • 举报
回复
按钮对应一个链接,点击后发给服务器,服务器会找到处理这个链接的Servlet或者JSP,完了。 如一个在web.xml里一个servlet的配置 <servlet> <servlet-name>myServlet</servlet-name> <servlet-class>com.tur.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myServlet</servlet-name> <url-pattern>/example/myservlettest.do</url-pattern> </servlet-mapping> 网页上有一个链接如 <a href="/example/myservlettest.do">Click Me</a>,点击它后 Servlet 容器会找到web.xml里处理链接="/example/myservlettest.do的Servlet "myServlet",然后调用这个Servlet的类(com.tur.MyServlet)的 doService()方法,最后返回这个方法的处理结果。
liklstar 2014-08-20
  • 打赏
  • 举报
回复
引用 8 楼 ylovep 的回复:
在用户输入用户名和密码之后跳转到主页面的时候,在主页面的初始化中加入权限过滤action,然后把按钮数据返回到主页面。
“在主页面的初始化中加入权限过滤action,然后把按钮数据返回到主页面”是什么意思?我的问题不是如何显示按钮,而是点击按钮这个动作如何激发后台方法?并且,我希望不使用框架,仅仅用最简单的技术实现。
永不感冒患者 2014-08-20
  • 打赏
  • 举报
回复
登陆处理时候判断身份 把值带回页面 在页面判断就可以了
ylovep 2014-08-20
  • 打赏
  • 举报
回复
在用户输入用户名和密码之后跳转到主页面的时候,在主页面的初始化中加入权限过滤action,然后把按钮数据返回到主页面。

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧