将Bootstrap添加到Domino表单

时间:2017-09-19 08:58:11

标签: twitter-bootstrap xpages lotus-domino xpages-extlib

在我的XPage应用程序中,我想添加一些$$ Domino表单并使用Bootstrap设置它们的样式。由于已经为应用程序启用了bootstrap,所以它在服务器上可用,我想在这些表单上重用它们,所以我在HTML Head Content部分添加了以下公式:

"<meta charset=\"utf-8\">
    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
    <meta name=\"description\" content=\"\">
    <meta name=\"author\" content=\"\">
    <meta charset=\"utf-8\">
    <link rel=\"shortcut icon\" href=\"/" + @WebDbName + "/favicon.ico\">
    <title>Authentication Failure</title>
    <!-- Bootstrap core CSS -->
    <link href=\"../../xsp/.ibmxspres/.extlib/responsive/dijit/dbootstrap-0.1.1/theme/dbootstrap/dbootstrap.css\" rel=\"stylesheet\">
    <link href=\"../../xsp/.ibmxspres/.extlib/responsive/bootstrap3/css/bootstrap.css\" rel=\"stylesheet\">
    <script src=\"../../xsp/.ibmxspres/.extlib/responsive/jquery/jquery.min.js\"></script>  
    <script src=\"../../xsp/.ibmxspres/.extlib/responsive/bootstrap3/js/bootstrap.min.js\"></script>    
    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src=\"http://getbootstrap.com/assets/js/html5shiv.js\"></script>
      <script src=\"http://getbootstrap.com/assets/js/respond.min.js\"></script>
    <![endif]-->"

因此,我应用的任何文本似乎都使用Bootstrap CSS格式化。但是像jumbotron这样的组件没有格式化,尽管我注意到bootstrap.min.css文件中定义的jumbotron类。

我忽略了什么吗?

2 个答案:

答案 0 :(得分:3)

我有一个启用Bootstrap的Domino表单,它使用HTML头内容中的以下内容(可以正常工作):

"<meta http-equiv='X-UA-Compatible' content='IE=Edge'>
<meta charset=\"utf-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">

<!-- Bootstrap core CSS -->
<link rel=\"stylesheet\" type=\"text/css\" href=\"/xsp/.ibmxspres/.extlib/bootstrap/xsptheme/xsp.css\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"/xsp/.ibmxspres/.extlib/bootstrap/bootstrap320/css/bootstrap.min.css\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"/xsp/.ibmxspres/.extlib/bootstrap/xpages300.css\">

<script src='/xsp/.ibmxspres/.extlib/bootstrap/jquery/jquery-1.11.0.min.js'></script>
<script src='/xsp/.ibmxspres/.extlib/bootstrap/bootstrap320/js/bootstrap.min.js'></script>

<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.js\"></script>
  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js\"></script>
<![endif]-->"

因此,将CSS链接hrefs更改为以/ xsp开头(所以,删除../ ..)并查看它是否有效。

答案 1 :(得分:0)

XPage运行时具有识别路径“/xsp/.ibmxspres”的代码,并运行定义的所有ResourceProviders以查找从中加载相关资源的位置。在这种情况下,后续的“.extlib”标识它是Extension Library插件的一部分。

OSGi允许它从插件中提取相关资源。

使用标准的Domino表单,您没有其中任何一个,因此它不知道文件的位置,如果有,则无法提取它们。如果从OpenNTF下载ExtLib,您可以将相关插件(“com.ibm.xsp.theme.bootstrap”)解压缩到您通常用于提取zip文件的任何内容 - jar是另一个像zip一样的存档。然后,您可以提取引导程序文件并进行相应的使用。可能值得将它们放在服务器上,位于\ domino \ html文件夹中,因为设计元素的数量最多且NSF可以容纳。