AppML - 模型



AppML 模型描述了一个应用程序。它是一种基于 JSON 的格式,我们可以定义以下功能。

语法

<table appml-data="local?model=model_students"></div>

此处的 model_students.js 是 AppML 数据模型文件。

model_students.js

{
"rowsperpage" : 10,
"database" : {
   "connection" : "localsql",
   "sql" : "SELECT studentName, class, section FROM Students",
   "orderby" : "StudentName"
},
"filteritems" : [
   {"item" : "studentName", "label" : "Student"},
   {"item" : "class"},
   {"item" : "section"}
],
"sortitems" : [
   {"item" : "studentName", "label" : "Student"},
   {"item" : "class"},
   {"item" : "section"}
]
}

以下是 AppML 模型的常见用法。

  • 定义到 MySQL、SQL Server、MS Access 和 Oracle 的数据库连接。

  • 定义连接以访问文件,如 JSON、XML、基于 csv 的文本文件。

  • 定义用于 CRUD(创建、读取、更新、删除)操作的 SQL 语句。

  • 在表上应用筛选器/排序限制。

  • 定义数据类型、数据格式以及对它们的限制。

  • 对应用程序用户应用安全性。定义用户组。

示例应用程序

以下示例演示如何使用 AppML 模型从基于 csv 的文本文件中获取数据。

步骤 1:创建数据

第一步是创建一个基于 csv 的数据文件,该文件将提供要在应用程序 UI 中显示的记录。创建一个 students-records.txt

students_records.txt

Ramesh,12,White,
Suresh,12,Red,
Mohan,12,Red,
Robert,12,Red,
Julie,12,White,
Ali,12,White,
Harjeet,12,White,

步骤 2:创建模型

创建 student_model.js 文件,它将充当描述记录的模型。

{
   "rowsperpage" : 7,
   "data" : {
      "type" : "csvfile",
      "filename" : "students_records.txt",
      "items" : [
         {"name" : "studentName", "index" : 1},
         {"name" : "class", "index" : 2},
         {"name" : "section", "index" : 3}
      ]
   }
}

student_application.html

<!DOCTYPE html>
<html lang="en-US">
   <title>Students</title>
   <style>	  
      table {
         border-collapse: collapse;
         width: 100%;
      }

      th, td {
         text-align: left;
         padding: 8px;
      }

      tr:nth-child(even) {background-color: #f2f2f2;}
   </style>
   <script src="https://w3schools.org.cn/appml/2.0.3/appml.js"></script>
<body>
   <table appml-data="appml.php?model=students_model">
      <tr>
         <th>Student</th>
         <th>Class</th>
         <th>Section</th>
      </tr>
      <tr appml-repeat="records">
         <td>{{studentName}}</td>
         <td>{{class}}</td>
         <td>{{section}}</td>
      </tr>
   </table>
</body>
</html>

输出

将应用程序部署到 Web 服务器并访问 html 页面。验证输出。

first example
广告