ShowRoleTagLib.groovy
上传用户:steveyhw
上传日期:2019-05-13
资源大小:307k
文件大小:5k
源码类别:

PlugIns编程

开发平台:

Java

  1. class ShowRoleTagLib {
  2.     int num = 4
  3.     def createAllAction = {attrs, body ->
  4.         println '[ShowRoleTagLib.createAllAction]'
  5.         def allurl = attrs['allurl']
  6.         allurl = allurl.findAll {elem -> !elem.propertyName.startsWith('login') && !elem.propertyName.startsWith('logout')  }
  7.         String js = ''
  8.         String mess = ''
  9.         body()
  10.         out << '<table border="1">'
  11.         int size = allurl.size()
  12.         allurl.eachWithIndex {elem, i ->
  13.             ((i % num) == 0) ? out << "<tr>" : out << ""
  14.             out << "<td>"
  15.             out << "<ul> ${g.message(code: elem.propertyName)} "
  16.             elem.getURIs().eachWithIndex {elem1, j ->
  17.                 if (elem1.endsWith('**')) {
  18.                     js = "changeDisabled('$i$j')"
  19.                     mess = g.message(code: elem1)
  20.                     out << "<li  > <input type='checkBox' id= 'box$i$j' onclick=$js /> <input disabled=true type='hidden'  id= '$i$j' name='url' value='$elem1' /> <label for='box$i$j' >$mess</label> </li>"
  21.                 }
  22.             }
  23.             out << "</ul>  "
  24.             out << "</td>"
  25.             if (i == (size - 1)) {
  26.                 for (int x = (i % num + 1); x < num; x++) {
  27.                     out << "<td>&nbsp;</td>"
  28.                 }
  29.             }
  30.             ((i % num) == num - 1) ? out << "</tr>" : out << ""
  31.         }
  32.         out << '</table>'
  33.     }
  34.     def editAllAction = {attrs, body ->
  35.         println '[ShowRoleTagLib.editAllAction]'
  36.         def allurl = attrs['allurl']
  37.         allurl = allurl.findAll {elem -> !elem.propertyName.startsWith('login') && !elem.propertyName.startsWith('logout')  }
  38.         def checkedurls = attrs['checkedurl'].collect {elem ->
  39.             elem.url
  40.         }
  41.         int size = allurl.size()
  42.         String js = ''
  43.         String mess = ''
  44.         body()
  45.         out << '<table border="1">'
  46.         allurl.eachWithIndex {elem, i ->
  47.             ((i % num) == 0) ? out << "<tr>" : out << ""
  48.             out << "<td>"
  49.             out << "<ul> ${g.message(code: elem.propertyName)} "
  50.             elem.getURIs().eachWithIndex {elem1, j ->
  51.                 if (elem1.endsWith('**')) {
  52.                     js = "changeDisabled('$i$j')"
  53.                     mess = g.message(code: elem1)
  54.                     if (checkedurls.contains(elem1.toLowerCase())) {
  55.                         out << "<li  > <input type='checkBox' id= 'box$i$j' onclick=$js checked='checked'/> <input  type='hidden'  id= '$i$j' name='url' value='$elem1' /> <label for='box$i$j' >$mess</label> </li>"
  56.                     } else {
  57.                         out << "<li  > <input type='checkBox'id= 'box$i$j'  onclick=$js /> <input  type='hidden' disabled=true id= '$i$j' name='url' value='$elem1' /> <label for='box$i$j' >$mess</label> </li>"
  58.                     }
  59.                 }
  60.             }
  61.             out << "</ul>  "
  62.             out << "</td>"
  63.             if (i == (size - 1)) {
  64.                 for (int x = (i % num + 1); x < num; x++) {
  65.                     out << "<td>&nbsp;</td>"
  66.                 }
  67.             }
  68.             ((i % num) == num - 1) ? out << "</tr>" : out << ""
  69.         }
  70.         out << '</table>'
  71.     }
  72.     def showAllAction = {attrs, body ->
  73.         println '[ShowRoleTagLib.showAllAction]'
  74.         def allurl = attrs['allurl']
  75.         allurl = allurl.findAll {elem -> !elem.propertyName.startsWith('login') && !elem.propertyName.startsWith('logout')  }
  76.         def selecturl = attrs['selecturl']
  77.         int size = allurl.size()
  78.         String js = ''
  79.         String mess = ''
  80.         body()
  81.         out << '<table border="1">'
  82.         def urls = selecturl.collect {elem ->                 //��requestMap�л�õ�urls
  83.             elem.url
  84.         }
  85.         allurl.eachWithIndex {elem, i ->
  86.             ((i % num) == 0) ? out << "<tr>" : out << ""
  87.             out << "<td>"
  88.             out << "<ul> ${g.message(code: elem.propertyName)} "
  89.             elem.getURIs().eachWithIndex {elem1, j ->
  90.                 if (elem1.endsWith('**')) {
  91.                     mess = g.message(code: elem1)
  92.                     if (urls.contains(elem1.toLowerCase())) {
  93.                         out << "<li  > <input type='checkBox' disabled=true checked='checked'  /> <input  type='hidden' disabled=true id= '$i$j' name='url' value='$elem1' /> $mess </li>"
  94.                     } else {
  95.                         //println  elem1
  96.                         out << "<li  > <input type='checkBox' disabled=true /> <input  type='hidden' disabled=true  id= '$i$j' name='url' value='$elem1' /> $mess </li>"
  97.                     }
  98.                 }
  99.             }
  100.             out << "</ul>  "
  101.             out << "</td>"
  102.             if (i == (size - 1)) {
  103.                 for (int x = (i % num + 1); x < num; x++) {
  104.                     out << "<td>&nbsp;</td>"
  105.                 }
  106.             }
  107.             ((i % num) == num - 1) ? out << "</tr>" : out << ""
  108.         }
  109.         out << '</table>'
  110.     }
  111. }