由于MisShop的人机交互界面适用于管理,并不适用于展示型的网站。需要展示数据时,可以在MisShop之外自己设计一个独立网站,然后数据使用MisShop系统里的数据。本文介绍MisShop系统的数据如何对接到独立网站之上。
#####将网页数据放到指定位置
首先将jsp类型的网页设计好,网页文件夹放入项目目录/res/open目录下或安装目录/WebRoot/open或代码目录/WebRoot/open目录下(如果默认没有open目录,则自己新建一个)。此时,打开MisShop设计器,网址输入如 localhost/misshop/open/web/index.jsp,就能打开open目录下web文件夹里的index.jsp网页。

因为是在open目录下,所以此时打开index.jsp网页不需要登录misshop系统。注意:新版本已经取消免登录模块,可以在任意模块或页面上右键>属性 ,设置这个页面是否免登录

在MisShop系统中增加数据
如在免登录模块下,新建一个子模块叫前端展示,在前端展示模块下新建一个页面,命名为首页。首页页面上新建一个数据集叫ds资讯,数据集的泛型和条件参数自己根据需要设置。
数据集建立之后,就可以进行下一步,在前端展示这个数据集。将页面设计在免登录模块下是为了前端页面调用后台页面的时候不需要登录,直接访问。
修改.jsp网页
打开.jsp源码页面,在页面最上方加入以下代码:
  1. <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
  2. <%@ page import="com.runqian.webmis.web.service.jsp.JspRaqService"%>
  3. <%@ page import="com.runqian.webmis.web.service.jsp.JspRaqDataSet"%>
  4. <%@ page import="com.mfp.base.bean.BeanLoader"%>
  5. <%@ page import="com.runqian.webmis.utils.JsonUtils"%>
  6. <%@ page import="java.util.Map"%>
  7. <%
  8. JspRaqService raqService = BeanLoader.getBean(JspRaqService.class);
  9. JspRaqDataSet ds资讯 = raqService.getDataSet("page/免登录模块/前端展示/首页.raq", "", "ds资讯");
  10. Map<String,Object> it = raqService.getRecord("page/系统管理/用户管理/详情.raq", "it_id=2", "it");
  11. %>

上述代码中,前半部分需要引入的jar包可根据需要增减,后半部分的数据变量,我们在后面的jsp文件中会用到。

其中的getDataSet函数的第一个参数是对应后台数据集所在的页面,即之前在免登录模块/前端展示模块下建的首页页面,第二个参数是打开这个后台页面想要传过去的参数(如it变量都是通过传递@it_id参数得到),不需要的话可以为空,第三个参数是这个页面的数据集变量。通过这个函数,将后台页面的数据集变量传递到网站jsp页面上。

注意等号左边的ds资讯与参数中的ds资讯的区别,前者是这个jsp页面的变量,后者是后台页面的数据集,此处是为了使用方便才配置成相同。

之后,就可以使用刚才获得的ds资讯,如

<%while(ds资讯.next()) {%>
        <li><a href="资讯详情.jsp?it_id=<%=ds资讯.getValue("id") %>"><%=ds资讯.getValue("名称")%></a></li>
<%}%>

这段代码中,<%=ds资讯.getValue(“名称”)%>用来代替jsp页面中所有需要用数据来替代的字符串。注意ds资讯要先使用next()才能获得第一个值。如果是记录类型则用<%=it.get(“名称”)%>来获取记录的字段值。<% %>这个符号表示里面是Java代码,可以在里面写多行代码,实现更复杂的逻辑。

其他说明
有的前端网站,除了展示新闻视频以外,还需要录入信息,如报名页、投票,这个问题暂时没有通用控件,需要写js代码解决。
网站显示视频图片等文件时,也是将显示格式写好,将变量对应的文件路径放在对应的标签下,就能显示。
MisShop中富文本控件的内容可以在jsp页面中直接以html的格式展现出来,其中视频必须是外链网站的视频,只需要在后台浏览带富文本控件的页面,点击“插入视频”,将类似的外链代码

粘贴过去,就能插入视频,然后在jsp页面中引用富文本对应的数据,就能显示视频。
如果显示不正确,可以在前端页面按F12,查看该位置文件的路径是否正确,来判断问题出在哪儿。