开发命题管理系统遇到的问题,求解决方案

JianCaesar 2008-01-15 05:03:17
我现在在开发一套命题管理系统,数据持久化用的ibatis,客户要求每次在修改页面修改记录以后点击确定,返回到查询页面并且定位到修改记录所在的页(查询结果有多个页)。
有用过ibatis的paginatedList做过翻页或相关功能的,请给一点建议,谢谢
...全文
38 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
捏造的信仰 2008-01-15
  • 打赏
  • 举报
回复
建议将当前页当作参数慢慢传。
捏造的信仰 2008-01-15
  • 打赏
  • 举报
回复
建议到网上搜索代码边看边学,碰到具题问题再来问。
关于技术⽅案调研设计 ⼯作中对开发的要都不仅限于实现功能。你是否有想过,如果只是编写代码,刚毕业的应届⽣花⼏周时间也⼀样能做到,那么我们的优势在哪⾥呢? 洞察⼯作中的瓶颈,并有⾜够的能⼒去设计⽅案、排期开发、解决并复盘,这些技能更能突显我们在岗位上的价值和能⼒。对团队来说,更需要这样能主动发现 并解决问题的成员,⽽不是安排什么就只做什么的螺丝钉。 所以,从这⼀讲开始,我会介绍技术⽅案设计、项⽬设计和管理的技能。 其中,技术⽅案设计属于架构能⼒中的⼀种,当我们开始作为某些功能/应⽤的 Owner 或是技术负责⼈来参与项⽬时,便会⾯临独⽴完成技术⽅案的调研和设计 这样的⼯作内容。 我们需要确保技术⽅案的最优化、避免开发过程遇到问题需要推翻重做,从⽽能够快速落地并达成预期的效果。因此,在进⾏⽅案设计之前,对于项⽬存在的⼀ 些技术瓶颈、技术调整,我们需要先进⾏充分的前期调研。 技术⽅案调研 在进⾏技术⽅案调研的时候,我们需要⾸先结合⾃⾝项⽬的背景、存在的痛点、现状问题进⾏分析,只有找到项⽬的问题在哪⾥,才可以更准确、彻底地去解决 这些问题。 分析项⽬背景,挖掘项⽬痛点 技术⽅案的设计很多时候并不是命题作⽂,更多时候我们需要⾃⼰去挖掘项⽬的痛点,然后才是提出解决⽅案。 很多前端开发常常觉得⾃⼰做的项⽬没什么意思,认为每天都是重复的⼯作、烦琐的业务逻辑、糟糕的历史遗留代码。 实际上,那些会让我们觉得枯燥和重复的⼯作内容,也是可以去改善做好,并能从中获得成长的地⽅。 好的业务可遇不可,如果⼯作内容跟⾃⼰的预期不⼀样,我们就什么都不做了吗? 我们可以主动寻找项⽬存在的问题和痛点,并尝试去解决。不同的项⽬或是同⼀个项⽬的不同时期,关注的技术点都会不⼀样。对于⼀个前端项⽬来说,技术价 值常常体现在系统性能、稳定性、可维护性、效率提升等地⽅,⽐如: 对于⽤户量较⼤的项⽬,对系统稳定性要较⾼,开发过程中需要关注是否会导致历史功能不兼容、是否会引⼊新的问题等; 对于⼤型复杂的项⽬,常常涉及多⼈协作,因此对系统可维护性要更⾼,需要避免每次的改动都会导致性能和稳定性的下降,如何提升协作开发的效率等; 对于⼀次性的活动页⾯、管理端页⾯开发,技术挑战通常是如何提⾼开发效率,可以使⽤配置化、脚⼿架、⾃动化等⼿段来提升页⾯的开发和上线效率; 以某个⼤型项⽬作为例⼦,参与前端项⽬开发的同学有 50 ⼈,项⽬代码约 60 万⾏。由于项⽬太⼤了,每个同学在开发的时候都难以评估是否会影响到其他模 块的运⾏。 在这种情况下,项⽬的核⼼痛点在于如何保证确保每次系统上线都不会对现有性能和稳定性带来问题。 找到项⽬的痛点之后,我们就可以进⼊项⽬的现状分析。 现状分析 或许你会感到疑惑,项⽬的痛点与现状有什么区别呢? 项⽬的痛点可以转化为⼀个⽬标⽅向,⽐如: 加载慢 ⾸屏加载耗时优化 开发效率低 提升项⽬⾃动化程度 多⼈协作容易出问题 提升系统稳定性 确定⽬标之后,我们就需要进⾏技术⽅案的设计,但很多时候由于项⽬现状存在的问题,⼀些技术优化的⽅案并不适⽤,需要进⾏⽅向的调整。 举个例⼦,在上述项⽬的例⼦中,⼀般情况下我们可以通过⼀系列的⾃动化测试与⼈⼯测试,来保证⼤部分核⼼功能可正常运⾏。 假设有⼀个同样规模⼤、成员多的⼩程序项⽬,由于该项⽬处于快速迭代的时期,考虑到投⼊产出⽐、产品形态也在不断调整,⽼板说"每个功能由开发⾃⼰保 证",决定不投⼊测试资源。 这意味着开发不仅需要在⾃测的时候确保核⼼⽤例的覆盖,同时也没有⾜够的排期来进⾏⾃动化测试(单元测试、集成测试、端到端测试等)的开发。 ⼀般来说,我们还可以考虑建⽴⽤例录制和⾃动化回归的解决⽅案。⽐如开发⼀个浏览器插件,来获取⽤户操作的⼀些⾏为(⽐如 Redux 中的 Action 操作), 将操作⾏为的页⾯结果(状态数据,⽐如 Redux 的 State)保存下来。在发布之前,可以通过⾃动化触发相同的操作⾏为,并与录制的页⾯结果进⾏⽐较,来 进⾏回归测试。 但对于⼩程序的特殊性,我们⽆法让其运⾏在浏览器中,更⽆法获取到它的操作⾏为。在这样的情况下,还有什么办法可以保证系统的稳定性呢? 考虑到⼀个系统的上线过程包括开发、测试、灰度和发布四个阶段,如果⽆法通过测试阶段来及时发现问题,那么我们还可以通过灰度过程中来及时发现并解决 问题。 ⽐如,通过全埋点覆盖各个页⾯的功能,灰度过程中观察埋点曲线是否有异常、及时告警和排查问题、暂停灰度或者回滚等⽅式,来避免给更多的⽤户带来不好 的体验。 通过灰度的⽅式来保证系统稳定性,会对局部的⽤户造成影响,这并不是⼀个最优的技术⽅案,它是考虑到项⽬的现状退⽽其次的解决⽅案,但最终也同样可 以达到提升系统稳定性这样⼀个⽬的。 当我们确定了技术优化的具体⽅向之后,便可以进⾏业界⽅案的调研阶段了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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