社区
Java EE
帖子详情
MVC(如struts)如何解决多个用户操作在同一个页面进行的问题?
wbw88
2003-10-21 11:22:18
我老觉得MVC(如struts)不好解决多个用户操作在同一个页面进行的问题,因为MVC老是把每一个用户操作映射到一个Action,然后再转向一另个页面(虽然可以是同一个页面)。
...全文
72
13
打赏
收藏
MVC(如struts)如何解决多个用户操作在同一个页面进行的问题?
我老觉得MVC(如struts)不好解决多个用户操作在同一个页面进行的问题,因为MVC老是把每一个用户操作映射到一个Action,然后再转向一另个页面(虽然可以是同一个页面)。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kui
2003-11-26
打赏
举报
回复
lykAction文件:用于实现分页、记录删除、编辑、更新、连接等功能
-----------------------------------------------
package OST;
import OST.jdbc.util.ConnectionPool;
import OST.lykDAO;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.util.ModuleException;
import org.apache.struts.util.MessageResources;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Collection;
public final class lykAction extends Action
{
// 变量定义:
private Log log = LogFactory.getLog("org.apache.struts.webapp.Example");
private ConnectionPool pool;
public lykAction() {
pool = ConnectionPool.getInstance();
}
//函数定义:
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
{
// Extract attributes and parameters we will need
Locale locale = getLocale(request);
MessageResources messages = getResources(request);
HttpSession session = request.getSession();
lykForm m_lykForm = (lykForm) form;
Connection con = null;
try
{
con = pool.getConnection();
lykDAO m_lykDAO = new lykDAO(con);
String action=request.getParameter("action");
if(action==null)action="find";
if(action.equals("delete"))
{
String expression=request.getParameter("expression");
m_lykDAO.removeID(expression);
}
////////////
if(action.equals("update"))
{
String expression=request.getParameter("expression");
lyk m_lyk= new lyk();
//<update>
m_lyk.setUser_id(m_lykForm.getUser_id());
m_lyk.setPassword(m_lykForm.getPassword());
m_lyk.setName(m_lykForm.getName());
m_lyk.setDescription(m_lykForm.getDescription());
m_lyk.setWeb_site(m_lykForm.getWeb_site());
m_lyk.setAddress(m_lykForm.getAddress());
//</update>
m_lykDAO.update(m_lyk,expression);
}
///////////////
//<sqlstr>
String sql="SELECT * FROM dbo.attraction";
//</sqlstr>
Collection col = m_lykDAO.findSQL(sql);
request.setAttribute("lyk",col);
//<分页>
m_lykForm.setRowCount(col.size());
m_lykForm.setLength(5);//设置每页显示记录数
String page=request.getParameter("page");
int ipage;
try
{
ipage=java.lang.Integer.parseInt(page,10);
}
catch (Exception e)
{
ipage=m_lykForm.getPage();
}
m_lykForm.setPage(ipage);
m_lykForm.setOffset(ipage*m_lykForm.getLength());
m_lykForm.setPageCount(m_lykForm.getRowCount()/m_lykForm.getLength()+1);
String strPage="";
strPage+="共";
strPage+=String.valueOf(m_lykForm.getRowCount());
strPage+="条记录,共";
strPage+=String.valueOf(m_lykForm.getPageCount());
strPage+="页,当前是第";
strPage+=String.valueOf(ipage+1);
strPage+="页, ";
int istart,iend;
istart=ipage-5;
if(istart<0) {istart=0;}
iend=istart+10;
if(iend>m_lykForm.getPageCount()) {iend=m_lykForm.getPageCount();}
istart=iend-10;
if(istart<0) {istart=0;}
for(int i=istart;i<iend;i++)
{
strPage+="<a href='lykAction.do?action=find&page=";
strPage+=String.valueOf(i);
strPage+="'>";
strPage+=String.valueOf(i+1);
strPage+="</a>";
strPage+=" ";
}
m_lykForm.setMybeanvariable1(strPage);
m_lykForm.setAction(action);
request.setAttribute("lykForm",m_lykForm);
//</分页>
return mapping.findForward("success");
}
catch (SQLException e)
{
e.printStackTrace();
throw new RuntimeException("Unable to get connection.");
}
finally
{
try
{
if (con != null)
con.close();
}
catch (SQLException e)
{
throw new RuntimeException(e.getMessage());
}
}
}
}
---------------------------------------------------
上面也可以加上查询条件。从if(action.equals("delete"))和if(action.equals("update"))等句子看出,可以把action当作事件类型,这样就可以实现ASP.NET中的事件驱动了。
kui
2003-11-26
打赏
举报
回复
关于“先显示一个表单给用户填写查找条件,写完后用户点“查找”。然后就在下面显示查找的结果(是一个表格),当用户点表格里的每一条记录时,就会在表格右面显示该记录的详细信息。然后当用户点“修改”时,用户可以修改该详细内容。”的问题:
在Struts中用一个Action和一个JSP实现这些功能是完全可以的。在JSPStudio中通过数据库文件向导自动产生的文件就实现了上述功能,当然,手工编写代码也行。
下面我给出一个logic:iterate 标签在数据库查询表格显示结果的实例,包含了分页、删除、编辑、更新、连接功能。所有代码由JSPStudio自动产生,JSPStudio下载地址ftp://162.105.80.43/incoming/
包含分页、连接、删除、更新功能的软件表格文件lykOUT.jsp内容如下:
--------------
<%@ page contentType="text/html;charset=GB2312" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html:html>
<head>
<title></title>
<html:base/>
</head>
<body bgcolor="white">
<table cellPadding=2 width="80%" border=2>
<tr>
<td><span CONTENTEDITABLE=true>user_id</span></td>
<td><span CONTENTEDITABLE=true>password</span></td>
<td><span CONTENTEDITABLE=true>name</span></td>
<td><span CONTENTEDITABLE=true>description</span></td>
<td><span CONTENTEDITABLE=true>web_site</span></td>
<td><span CONTENTEDITABLE=true>address</span></td>
<td><span CONTENTEDITABLE=true>删除</span></td>
<td><span CONTENTEDITABLE=true>编辑</span></td>
<td><span CONTENTEDITABLE=true>链接</span></td>
</tr>
<bean:define property='offset' name='lykForm' id='offset' />
<bean:define property='length' name='lykForm' id='length' />
<logic:iterate name='lyk' id='lyk' type='OST.lyk' scope='request' offset='<%= String.valueOf(offset) %>' length='<%= String.valueOf(length) %>'>
<logic:notEqual name='lykForm' property='action' value='edit'>
<tr>
<td><bean:write name='lyk' property='user_id' /></td>
<td><bean:write name='lyk' property='password' /></td>
<td><bean:write name='lyk' property='name' /></td>
<td><bean:write name='lyk' property='description' /></td>
<td><bean:write name='lyk' property='web_site' /></td>
<td><bean:write name='lyk' property='address' /></td>
<td><a href="lykAction.do?action=delete&expression=<bean:write name='lyk' property='user_id' />">删除</a></td>
<td><a href="lykAction.do?action=edit&expression=<bean:write name='lyk' property='user_id' />">编辑</a></td>
<td><a href="lykAction.do?action=link&expression=<bean:write name='lyk' property='user_id' />">链接</a></td>
</tr>
</logic:notEqual>
<logic:equal name='lykForm' property='action' value='edit'>
<tr>
<form method='post' name='lykForm' action="/OST/lykAction.do?action=update&expression=<bean:write name='lyk' property='user_id' />">
<td><html:text name='lyk' property='user_id' /></td>
<td><html:text name='lyk' property='password' /></td>
<td><html:text name='lyk' property='name' /></td>
<td><html:text name='lyk' property='description' /></td>
<td><html:text name='lyk' property='web_site' /></td>
<td><html:text name='lyk' property='address' /></td>
<td><a href="lykAction.do?action=delete&expression=<bean:write name='lyk' property='user_id' />">删除</a></td>
<td><html:submit value='更新'></html:submit></form ><html:form method='post' action='/lykAction.do?action=reset'><html:submit value='取消'></html:submit>
</html:form ></td>
<td><a href="lykAction.do?action=link&expression=<bean:write name='lyk' property='user_id' />">链接</a></td>
</tr>
</logic:equal>
</logic:iterate>
<tr><td align=middle colSpan=10 ><bean:write property='mybeanvariable1' name='lykForm' filter='false' /></td></tr>
</tr>
</table>
</body>
</html:html>
--------------------------------------------------------------------------
其中在“<logic:iterate name='lyk' id='lyk' type='OST.lyk' scope='request' offset='<%= String.valueOf(offset) %>' length='<%= String.valueOf(length) %>'>”中,offset代表本页开始显示的记录,length代码本页显示的记录条数。
<logic:notEqual name='lykForm' property='action' value='edit'> 表示非常编辑时执行下面的代码。
<logic:equal name='lykForm' property='action' value='edit'> 表示编辑时执行下面的代码。
<a href="lykAction.do?action=link&expression=<bean:write name='lyk' property='user_id' />">是显示分页及相应连接的内容。
------------------------------------------------
上面没有包含查询在内,但只要在前面加一个<form>标签作查询就行了。
wbw88
2003-11-25
打赏
举报
回复
to jaxe(浩毛) :
to zhouyiqing(玉樹臨風)
LookupDispatchAction 是什么东西呀,有没有这方面的资料呀
jaxe
2003-11-07
打赏
举报
回复
用LookupDispatchAction就解决了。
kathir
2003-11-06
打赏
举报
回复
你的查询结果显示在表格里,这些字段应该有一个能标示这条纪录的唯一标示符,比如编号等。当你点击表格时,应该有个函数记住你点击那一行,然后你再在<script>里,写一个函数, if(t1.rows.length==1)//t1是你点击的表格id
{
alert("没有个人信息!")
return
}
if(isNaN(hrowsel.value))//hrowsel一个隐藏文本框,记住上一个函数里的你点击的具体行
{
alert("请选择要查看的个人信息!")
return
}
if(hrowsel.value==""||hrowsel.value==" "||hrowsel.value==null)
{
alert("请选择要查看的个人信息!")
return
}
var curRow=hrowsel.value
ycode=t1.childNodes(0).childNodes(curRow).childNodes(2).innerText
根据所得的ycode,你可以从数据库里选出对应的信息显示在右边的列表里
zhouyiqing
2003-10-29
打赏
举报
回复
看看這個LookupDispatchAction,是個好東西!
Leemaasn
2003-10-22
打赏
举报
回复
一般是做成脚本+session
whyxx
2003-10-22
打赏
举报
回复
这种东西没什么问题啊,用一个action处理所有操作(用一个hidden变量来判断用户是何种操作)和用N个action每个处理一种操作有什么不同吗,一个麻烦但结构清晰,一个简单但处理有点像batch,
VVV_lucky
2003-10-22
打赏
举报
回复
一个操作对应一个action.
麻烦但是清晰。
至于你说的,确实需要转页面呀,这是B/S的东西,只要需要和服务器交换信息就要刷画面。不过有的可以做成脚本。
wbw88
2003-10-22
打赏
举报
回复
关键是为了方便用户操作,所有这些操作都要放在同一个页面。
软猫克鲁
2003-10-22
打赏
举报
回复
我想,你可以单独用一个Action来处理“查找”之类的响应。也许……
wbw88
2003-10-21
打赏
举报
回复
如:我需要在一个页面进行下面查询操作:
先显示一个表单给用户填写查找条件,写完后用户点“查找”。然后就在下面显示查找的结果(是一个表格),当用户点表格里的每一条记录时,就会在表格右面显示该记录的详细信息。然后当用户点“修改”时,用户可以修改该详细内容。
不知大家是怎么解决这类问题的。
wbw88
2003-10-21
打赏
举报
回复
如果用MVC结构,就会在不同的页面转来转去,
java web技术开发大全(最全最新)
提供典型应用案例,剖析JSP/Servret技术与
Struts
2技术在Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具和框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例和4个综合案例,可以作为案头必备的查询手册 一线开发人员全力打造,分享技术盛宴! 重点内容及特色 《Java Web开发技术大全:JSP+Servlet+
Struts
+Hibernate+Spring+Ajax》介绍了Web开发中客户端技术的基础知识,包括JavaScript、CSS、AJAX等,这些技术都是Web应用中常用的客户端技术。 《Java Web开发技术大全:JSP+Servlet+
Struts
+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握的技术。 《Java Web开发技术大全:JSP+Servlet+
Struts
+Hibernate+Spring+Ajax》重点讲解了
Struts
2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和事务管理等,Spring中的数据库技术与AOP等。 《Java Web开发技术大全:JSP+Servlet+
Struts
+Hibernate+Spring+Ajax》特别介绍了
Struts
2对AjAX的支持,还重点剖析了SSH框架的整合开发,并给出了两个综合案例来展示整合SSH框架开发Web应用。 和已经出版的同类图书相比,《Java Web开发技术大全:JSP+Servlet+
Struts
+Hibernate+Spring+Ajax》讲解由浅入深,涵盖更多内容,列举了大量典型实例具有超强的实用性,另外,《Java Web开发技术大全:JSP+Servlet+
Struts
+Hibernate+Spring+Ajax》各篇独立,适合读者全面学习或对部分内容重点学习。 读者对象 有Java基础,想进一步学习SSH框架整合开发的人员 了解SSH整合开发,想进一步提高开发技术的人员 正在使用SSH整合技术开发项目,想查阅资料的人员 大中专院校的学生和老师,以及Java培训班的学员和讲师 需要一本案头必备查询手册的程序员 光盘内容 6小时多媒体体视频讲解 《Java Web开发技术大全:JSP+Servlet+
Struts
+Hibernate+Spring+Ajax》所涉及的源代码 布衣暖,菜根香,好书滋味长!清华大学出版社长期以来一直秉承为读者多出好书的宗旨,多年来为读者奉献了大量脍炙人口的精品图书。尤其在计算机图书出版领域更是形成了鲜明特色,所出版的各类计算机图书受到了广大读者的好评。本次出版的“原创经典,程序员典藏”系列图书是清华大学出版社的重点精品计算机图书,旨在帮助读者全面学习各类程序设计语言和开发工具,提高开发水平。同时也为广大程序员提供良好的技术参考,以便作为案头必备的查询手册。 内容提要 -------------------------------------------------------------------------------- 《Java Web开发技术大全:JSP+Servlet+
Struts
+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+
Struts
+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、
Struts
2(*、类型转换、输入校验、上传和下载文件、
Struts
2的各种标签、对 AJAX的支持等)、Spring(Ioc容器、装配Java Bean、Jdbc和Hibernate模板、事务管理、Spring AOP等)以及 Hibernate(会话、映射、标准查询API、HQL、事务管理、锁等)。除此之外,《Java Web开发技术大全:JSP+Servlet+
Struts
+Hibernate+Spring+Ajax》还提供了两个完整的实例来讲解开发SSH的详细步骤和方法。通过对这两个实例的学习,读者可以对SSH开发模式有更透彻地理解和认识。SSH是目前最流行的Java Web开发技术。 《Java Web开发技术大全:JSP+Servlet+
Struts
+Hibernate+Spring+Ajax》适合广大从事Java Web开发工作的技术人员、对SSH开发感兴趣的人员以及大专院校学生阅读,尤其是具有一定的Web开发经验的技术人员。 目录 -------------------------------------------------------------------------------- 第1篇 web开发基础篇 第1章 搭建开发环境 1.1 本书使用的软件和框架的版本 1.2 JDK6的下载与安装 1.3 Eclipse3.4 的下载与安装 1.4 MyEclipse6.5 的下载与安装 1.5 Eclipse:IDEforJavaEEDevelopers的下载与安装 1.6 Tomcat6的下载与安装 1.7 在MyEclipse中配置。Tomcat 1.8 在EclipseIDEforJavaEEDevelopers中配置Tomcat 1.9 小结 第2章 JavaWeb应用开发基础 2.1 Web技术的发展 2.2 JavaWeb技术 2.2.1 Java.Welb程序的基本组成 2.2.2 Java,Web程序的目录结构 2.2.3 JavaWeb程序的配置文件 2.3
MVC
模式与
MvC
框架 2.3.1 JSP模型1和JSP模型2 2.3.2 Web应用程序需要的基础服务 2.3.3
MVC
模式概述 2.3.4 常用的
MvC
框架 2.4 小结 第3章 Web开发中的客户端技术 3.1 常用的JavaScriptIDE简介 3.1.1 在MyEclipse中使用JavaScript 3.1.2 在EclipseIDEforJavaEE中使用JavaScript 3.1.3 在NetBeans中使用JavaScript 3.1.4 其他的JavaScriptIDE 3.2.1 avaScdpt语法基础 3.2.1 实例:编写第一个JavaScript程序:Greet 3.2.2 变量 3.2.3 原始类型 3.2.4 类型转换 3.2.5 函数与函数调用 3.2.6 类和对象 3.3 JavaScript高级技术 3.3.1 DOM技术概述 3.3.2 获得HTML元素的3种方法 3.3.3 实例:图像自动切换 3.3.4 正则表达式 3.3.5 实例:表格排序 3.4 CSS基础 3.4.1 CSS的基本语法 3.4.2 在Style属性中定义样式 3.4.3 在HTML中定义样式 3.4.4 在外部文件中定义样式 3.4.5 样式的继承 3.5 AJAX.基础 3.5.1 AJAX概述 3.5.2 实例:使用XMLHttpRequest获得Web资源 3.5.3 实例:使用XMLHttpRequest跨域访问Web资源 3.5.4 实例:AJAX的3种交换数据方法 3.6 小结 第4章 Servlet技术 4.1 Servlet的Helloworld程序 4.1.1 实例:在My Eclipse中编写Helloworld程序 4.1.2 实例:手工编写:Helloworld程序 4.2 Servlet基础 4.2.1 配置数据库连接池 4.2.2 数据库连接池的应用 4.2 -3实例:用doGet方法处理客户端请求 4.2.4 实例:用doPost方法处理客户端请求 4.2.5 实例:用service方法处理客户端请求 4.2.6 实例:初始化(init)和销毁(destroy)Servlet 4.2.7 实例:使用PrintWriter输出响应消息 4.2.8 实例:用ServletOutputStream显示图像 4.2.9 实例:使用RequestDispatcher包含Web资源 4.2.10 实例:使用RequestDispatcher转发Web资源 4.3 HttpServletResponse类的其他功能 4.3.1 产生状态响应码 4.3.2 设置响应消息头 4.3.3 实例:验证响应头设置情况 4.4 使用:HttpServletRequest获得请求消息 4.4.1 获取请求行消息 4.4.2 获取网络连接消息 4.4.3 获取请求头消息 4.5 处理Cookie 4.5.1 什么是Cookie 4.5.2 Cookie类中的方法 4.5.3 实例:用Cookie读写客户端信息 4.5.4 实例:用Cookie读写复杂数据 4.6 处理Session 4.6.1 什么是Session 4.6.2 HttpSession接口中的方法 4.6.3 HttpServletRequest接口中的Session方法 4.6.4 实例:通过Cookie跟踪Session 4.6.5 实例:通过重写uRL跟踪Session 4.7 Web开发的中文
问题
4.7.1 Java的编码原理 4.7.2 实例:
解决
输出中文乱码
问题
4.7.3 实例:
解决
服务端程序读取中文请求消息的乱码
问题
4.7.4 实例:用AJAX技术发送和接收中文信息 4.7.5 实例:在请求消息头和响应消息头中转输中文 4.8 小结 第5章 JSP技术 5.1 用MyEclipse编写第一个JSP程序 5.1.1 实例:编写显示服务器当前时间的JSP程序 5.1.2 调试JSP程序 5.1.3 改变JSP的访问路径和扩展名 5.1.4 手动发布JSP程序 5.2 JSP的运行原理 5.2.1 Tomcat如何处理JSP页 5.2.2 分析由JSP生成的Servlet代码 5.3 JSP基本语法 5.3.1 JSP表达式 5.3.2 在JSP中嵌入Java代码 5.3.3.JSP声明 5.3.4.JSP表达式语言(EL) 5.3.5 实例:用EL函数替换HTML中的特殊字符 5.3.6 JSP
页面
中的注释 5.4 JSP指令 5.4.1 JSP指令简介 5.4.2 page
页面
指令 5.4.3 include加入指令 5.5.JSP的9个内置对象 5.5.1 out输出对象 5.5.2 pageContext封装对象 5.5.3 其他的JSP内置对象 5.6 JSP标签 5.6.1 插入标签 5.6.2 转发标签 5.6.3 传参标签 5.6.4 创建:Bean标签 5.6.5 设置属性值标签 5.6.6 获取属性值标签 5.7 JSP的标准标签库(JSTL) 5.7.1 如何使用JSTL 5.7.2 条件标签 5.7.3 循环标签 5.8 小结 第6章 用Servlet和JSP实现注册登录系统 第2篇
Struts
2篇 第7章 编写
Struts
2的第一个程序 第8章
Struts
2进阶 第9章
Struts
2的* 第10章
Struts
2的类型转换 第11章
Struts
2的输入校验 第12章 文件的上传和下载 第13章 国际化 第14章
Struts
2的标签库 第15章
Struts
2对AJAX的支持 第16章 用
Struts
2实现注册登录系统 第3篇 Hibernate篇 第17章 Hibernate的Helloworld程序 第18章 配置Hibernate 第19章 Hibernate的会话与O/R映射 第20章 Hibernate的查询与更新技术 第21章 Hibernate的高级技术 第4篇 Spring篇 第22章 Spring的Helloworld程序 第23章 反向控制(Ioc)与装配JavaBean 第24章 Spring中的数据库技术 第25章 Spring的其他高级技术 第5篇 综合实例篇 第26章
Struts
2与Hibernate、Spring的整合 第27章 网络硬盘 第28章 论坛系统
Spring
MVC
是什么?与
Struts
的区别是什么?
Spring
MVC
是Spring框架中的一个模块,它提供了一种基于
MVC
(Model-View-Controller)架构的Web开发方式。与传统的JSP/Servlet开发方式相比,Spring
MVC
更加灵活、高效,可以帮助开发人员快速构建高质量的Web应用程序。本文将详细介绍Spring
MVC
的概念、特点以及与
Struts
的区别,并附上代码示例。
ASP.NET开发课程
MVC
5+EasyUI实战基础(系统登录)
该课程是胡延亮老师在完成《ASP.Net开发课程
MVC
5入门篇》和《ASP.Net开发课程
MVC
5提升篇》基础课程后的,第一门关于
MVC
5+EasyUI实战基础的课程,主要内容包含:环境搭建,系统登录,
用户
管理等基础功能。
MVC
全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及
用户
交互的同时,不需要重新编写业务逻辑。
MVC
被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化
用户
界面的结构中。 easyui是一种基于jQuery、Angular.、Vue和React的
用户
界面插件集合。 easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能。 使用easyui你不需要写很多代码,你只需要通过编写一些简单HTML标记,就可以定义
用户
界面。 easyui是个完美支持HTML5网页的完整框架。 easyui节省您网页开发的时间和规模。 easyui很简单但功能强大的。主讲内容:创建数据库环境搭建创建登录
页面
创建登录控制器实现登录功能创建管理主
页面
创建
用户
管理
页面
用户
列表显示
用户
增加
用户
删除
用户
查询
用户
删除等功能。
MVC
框架及
Struts
2介绍
MVC
框架及
Struts
2介绍
Struts
2核心
Struts
2拦截器
Struts
2值栈和OGNL表达式
Struts
2标签库1 框架1.1 框架 框架(Framework):指为
解决
一个特定
问题
而设计的具有一定约束性的结构。框架强调的是软件的设计重用性和系统的可扩充性,以缩短大型应用软件系统的开发周期,提高开发质量。一个好的框架必定是某个领域的最佳实践。 最佳实践(Bes
Struts
旅程(四)
MVC
向
struts
MVC
框架演变过程
上篇我们以登录为例讲解了
struts
配置,实现了使用
struts
框架
进行
登录的示例。一些名词已经在脑海中飘荡了。 上一篇提出了
问题
,使用
Struts
框架比不使用
struts
框架的好处在哪里的
问题
。以及由此讲述了静态ActionForm和动态ActionForm。本篇就第一个
问题
,以一个示例对
用户
信息的增删改查来展示基本的
MVC
框架到
struts
MVC
的过程。 版本一: 首先是创建一个jsp索
Java EE
67,513
社区成员
225,880
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章